URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 120470
[ Назад ]
Исходное сообщение
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено opennews , 29-Апр-20 11:17
Разработчики JavaScript-движка V8 представили утилиту wasm-decompile, позволяющую декомпилировать промежуточное бинарное представление WebAssembly в читаемый псевдоязык, напоминающий JavaScript и Си. Предложенный псевдоязык существенно проще для восприятия и более пригоден для ручного разбора, чем текстовое представление WebAssembly в формате ".wat", который ближе к ассемблеру, чем к высокоуровневым языкам. При этом декомпиляция по возможности полностью отражает представление Wasm...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52833
Содержание
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 11:17 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 11:41 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Crazy Alex, 12:07 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 13:47 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Crazy Alex, 15:13 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Коровавирус, 12:06 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 12:32 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Ordu, 14:09 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 12:31 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 13:22 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,pin, 13:00 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 13:20 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 17:09 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,nearestmilkyway, 13:37 , 30-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 13:36 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 16:02 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 17:08 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,КО, 11:32 , 30-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 13:15 , 30-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 15:04 , 30-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Вы забыли заполнить поле Name, 19:44 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 20:22 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 21:25 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 22:47 , 29-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Вы забыли заполнить поле Name, 13:56 , 02-Май-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 14:51 , 30-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 19:32 , 30-Апр-20
- Разработчики V8 представили декомпилятор для WebAssembly,Аноним, 21:44 , 01-Май-20
Сообщения в этом обсуждении
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 11:17
Этот .wat как Лисп какой-то.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 11:41
Потому что этот формат называется S-выражения, а Lisp полностью состоит из них
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Crazy Alex , 29-Апр-20 12:07
Я давно подозревал, что Lisp надо декомпилировать прежде чем читать ;-)А если серьёзно - WASM так и разрабатывался, чтобы байткоды были более-менее понятным для человека (в том числе поэтому там AST), и чтобы бинарный и текстовый форматы были полностью эквивалентны. Так что даже странно, что до сих пор подобных инструментов не было.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 13:47
На любом языке можно так написать что потом придётся декомпилировать что бы прочитать, есть даже специальные программы приводящие исходный код к нечитаемому виду.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Crazy Alex , 29-Апр-20 15:13
Конечно. Но на одних языках надо прилагать некие усилия, чтобы вышло что-то читаемое, на других - наоборот. Впрочем, весь мейнстрим, как водится, здесь посередине.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Коровавирус , 29-Апр-20 12:06
Wat гораздо понятнее, ибо Лисп :)
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 12:32
offset=4, offset=8 - такой себе лисп :)
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Ordu , 29-Апр-20 14:09
В лиспе бы порядок аргументов был бы другим (&key аргументы после обязательных), и выглядело бы несколько иначе:(f32.load (local.get 0) :offset 4)
Но сути это не меняет. Преобразовать из того синтаксиса в lisp'овый можно даже не вдаваясь в заморочные штуки типа reader macro.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 12:31
Какой wat. Лучше WWWHAT???? :)
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 13:22
wat? https://i.kym-cdn.com/photos/images/newsfeed/000/173/576/Wat...
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено pin , 29-Апр-20 13:00
Ждем, когда все эти кодонедогенераторы начнут генерировать код в метры кубические.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 13:20
Кодогенераторы кодогенерировали, кодогенерировали, да не выкодогенерировали.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 17:09
В барели
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено nearestmilkyway , 30-Апр-20 13:37
...в меры кубитческие
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 13:36
> представление WebAssembly в формате ".wat"Странно, что не ".wtf"
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 16:02
Почему jvm байт-код декомпилируется в абсолютно читаемый и понятный исходный код, а из webassebly получается... ужас какой-то
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 17:08
Потому что jvm байткод неоптимизирован.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено КО , 30-Апр-20 11:32
Потому, что он декомпилируется в тот же язык, на котором писали. И потому этот язык понятен.
А тут декомпиляция идет в выдуманные языки с которыми почти никто не работает. Поэтому он и не понятен - ибо НЕХ.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 30-Апр-20 13:15
Потому что jvm взаимодействует с высокоуровневыми джавовскими объектами, а wasm жонглирует байтиками как CPU — на низком уровне.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 30-Апр-20 15:04
Если в ProGuard включили нужные настройки, то после декомпиляции получится каша.
Так же и с C# всякими.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Вы забыли заполнить поле Name , 29-Апр-20 19:44
> чем текстовое представление WebAssembly в формате ".wat", который ближе к ассемблеру, чем к высокоуровневым языкамНу такое себе заявление, натянуто. S-выражения понятнее как мне кажется. Достаточно было заменить
(f32.load (local.get 0)) на какой-нибудь (a), т.к. это первый аргумент.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 20:22
Псевдоязык похож на typescript с сишными типами.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 21:25
Это замаскированный паскаль. Современные погромисты уже не в состоянии декомпилировать в си, поэтому выбрали паскаль.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 29-Апр-20 22:47
Да где там паскаль-то? Тип после имени переменной в миллионе языков. А управление потоком там вообще ни на что не похоже, по сути, два варианта goto ;)
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Вы забыли заполнить поле Name , 02-Май-20 13:56
> Это замаскированный паскаль. Современные погромисты уже не в состоянии декомпилировать
> в си, поэтому выбрали паскаль.Никлаус, залогинтесь.
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 30-Апр-20 14:51
>Например, скомпилированная в wasm исходная Си-функция
>typedef struct { float x, y, z; } vec3;
>a->y * b->y +Это примеры из языка Си плюс-плюс, это не чистый Си. Автор новости садись, два!
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 30-Апр-20 19:32
Где тут плюс плюс? Автор коммента, у тебя что, переполнение?
"Разработчики V8 представили декомпилятор для WebAssembly"
Отправлено Аноним , 01-Май-20 21:44
Вот тут>Например, скомпилированная в wasm исходная Си-функция