The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Разработчики V8 представили декомпилятор для  WebA..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Разработчики V8 представили декомпилятор для  WebA..."  +/
Сообщение от opennews (??), 29-Апр-20, 11:17 
Разработчики JavaScript-движка V8 представили утилиту wasm-decompile, позволяющую декомпилировать  промежуточное бинарное представление WebAssembly в читаемый псевдоязык, напоминающий JavaScript и Си. Предложенный псевдоязык существенно проще для восприятия и более пригоден для ручного разбора, чем текстовое представление  WebAssembly  в формате ".wat", который ближе к ассемблеру, чем к высокоуровневым языкам. При этом декомпиляция по возможности полностью отражает представление Wasm...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52833

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Разработчики V8 представили декомпилятор для  WebAssembly"  +1 +/
Сообщение от Аноним (1), 29-Апр-20, 11:17 
Этот .wat как Лисп какой-то.
Ответить | Правка | Наверх | Cообщить модератору

2. "Разработчики V8 представили декомпилятор для  WebAssembly"  +6 +/
Сообщение от Аноним (2), 29-Апр-20, 11:41 
Потому что этот формат называется S-выражения, а Lisp полностью состоит из них
Ответить | Правка | Наверх | Cообщить модератору

4. "Разработчики V8 представили декомпилятор для  WebAssembly"  +21 +/
Сообщение от Crazy Alex (ok), 29-Апр-20, 12:07 
Я давно подозревал, что Lisp  надо декомпилировать прежде чем читать ;-)

А если серьёзно - WASM так и разрабатывался, чтобы байткоды были более-менее понятным для человека (в том числе поэтому там AST), и чтобы бинарный и текстовый форматы были полностью эквивалентны. Так что даже странно, что до сих пор подобных инструментов не было.

Ответить | Правка | Наверх | Cообщить модератору

11. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (11), 29-Апр-20, 13:47 
На любом языке можно так написать что потом придётся декомпилировать что бы прочитать, есть даже специальные программы приводящие исходный код к нечитаемому виду.
Ответить | Правка | Наверх | Cообщить модератору

14. "Разработчики V8 представили декомпилятор для  WebAssembly"  +2 +/
Сообщение от Crazy Alex (ok), 29-Апр-20, 15:13 
Конечно. Но на одних языках надо прилагать некие усилия, чтобы вышло что-то читаемое, на других - наоборот. Впрочем, весь мейнстрим, как водится, здесь посередине.
Ответить | Правка | Наверх | Cообщить модератору

3. "Разработчики V8 представили декомпилятор для  WebAssembly"  –2 +/
Сообщение от Коровавирус (?), 29-Апр-20, 12:06 
Wat гораздо понятнее, ибо Лисп :)
Ответить | Правка | Наверх | Cообщить модератору

6. "Разработчики V8 представили декомпилятор для  WebAssembly"  +1 +/
Сообщение от Аноним (6), 29-Апр-20, 12:32 
offset=4, offset=8 - такой себе лисп :)
Ответить | Правка | Наверх | Cообщить модератору

12. "Разработчики V8 представили декомпилятор для  WebAssembly"  +2 +/
Сообщение от Orduemail (ok), 29-Апр-20, 14:09 
В лиспе бы порядок аргументов был бы другим (&key аргументы после обязательных), и выглядело бы несколько иначе:

(f32.load (local.get 0) :offset 4)

Но сути это не меняет. Преобразовать из того синтаксиса в lisp'овый можно даже не вдаваясь в заморочные штуки типа reader macro.

Ответить | Правка | Наверх | Cообщить модератору

5. "Разработчики V8 представили декомпилятор для  WebAssembly"  +2 +/
Сообщение от Аноним (5), 29-Апр-20, 12:31 
Какой wat. Лучше WWWHAT???? :)
Ответить | Правка | Наверх | Cообщить модератору

9. "Разработчики V8 представили декомпилятор для  WebAssembly"  +2 +/
Сообщение от Аноним (9), 29-Апр-20, 13:22 
wat? https://i.kym-cdn.com/photos/images/newsfeed/000/173/576/Wat...
Ответить | Правка | Наверх | Cообщить модератору

7. "Разработчики V8 представили декомпилятор для  WebAssembly"  +2 +/
Сообщение от pin (??), 29-Апр-20, 13:00 
Ждем, когда все эти кодонедогенераторы начнут генерировать код в метры кубические.
Ответить | Правка | Наверх | Cообщить модератору

8. "Разработчики V8 представили декомпилятор для  WebAssembly"  +5 +/
Сообщение от Аноним (9), 29-Апр-20, 13:20 
Кодогенераторы кодогенерировали, кодогенерировали, да не выкодогенерировали.
Ответить | Правка | Наверх | Cообщить модератору

17. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (1), 29-Апр-20, 17:09 
В барели
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

24. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от nearestmilkyway (?), 30-Апр-20, 13:37 
...в меры кубитческие
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

10. "Разработчики V8 представили декомпилятор для  WebAssembly"  +5 +/
Сообщение от Аноним (10), 29-Апр-20, 13:36 
> представление WebAssembly в формате ".wat"

Странно, что не ".wtf"

Ответить | Правка | Наверх | Cообщить модератору

15. "Разработчики V8 представили декомпилятор для  WebAssembly"  –1 +/
Сообщение от Аноним (15), 29-Апр-20, 16:02 
Почему jvm байт-код декомпилируется в абсолютно читаемый и понятный исходный код, а из webassebly получается... ужас какой-то
Ответить | Правка | Наверх | Cообщить модератору

16. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (16), 29-Апр-20, 17:08 
Потому что jvm байткод неоптимизирован.
Ответить | Правка | Наверх | Cообщить модератору

22. "Разработчики V8 представили декомпилятор для  WebAssembly"  –1 +/
Сообщение от КО (?), 30-Апр-20, 11:32 
Потому, что он декомпилируется в тот же язык, на котором писали. И потому этот язык понятен.
А тут декомпиляция идет в выдуманные языки с которыми почти никто не работает. Поэтому он и не понятен - ибо НЕХ.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

23. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (23), 30-Апр-20, 13:15 
Потому что jvm взаимодействует с высокоуровневыми джавовскими объектами, а wasm жонглирует байтиками как CPU — на низком уровне.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

26. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (26), 30-Апр-20, 15:04 
Если в ProGuard включили нужные настройки, то после декомпиляции получится каша.
Так же и с C# всякими.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

18. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Вы забыли заполнить поле Name (?), 29-Апр-20, 19:44 
> чем текстовое представление WebAssembly в формате ".wat", который ближе к ассемблеру, чем к высокоуровневым языкам

Ну такое себе заявление, натянуто. S-выражения понятнее как мне кажется. Достаточно было заменить

(f32.load (local.get 0)) на какой-нибудь (a), т.к. это первый аргумент.

Ответить | Правка | Наверх | Cообщить модератору

19. "Разработчики V8 представили декомпилятор для  WebAssembly"  –1 +/
Сообщение от Аноним (19), 29-Апр-20, 20:22 
Псевдоязык похож на typescript с сишными типами.
Ответить | Правка | Наверх | Cообщить модератору

20. "Разработчики V8 представили декомпилятор для  WebAssembly"  +2 +/
Сообщение от Аноним (10), 29-Апр-20, 21:25 
Это замаскированный паскаль. Современные погромисты уже не в состоянии декомпилировать в си, поэтому выбрали паскаль.
Ответить | Правка | Наверх | Cообщить модератору

21. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (19), 29-Апр-20, 22:47 
Да где там паскаль-то? Тип после имени переменной в миллионе языков. А управление потоком там вообще ни на что не похоже, по сути, два варианта goto ;)
Ответить | Правка | Наверх | Cообщить модератору

29. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Вы забыли заполнить поле Name (?), 02-Май-20, 13:56 
> Это замаскированный паскаль. Современные погромисты уже не в состоянии декомпилировать
> в си, поэтому выбрали паскаль.

Никлаус, залогинтесь.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

25. "Разработчики V8 представили декомпилятор для  WebAssembly"  –1 +/
Сообщение от Аноним (-), 30-Апр-20, 14:51 
>Например, скомпилированная в wasm исходная Си-функция
>typedef struct { float x, y, z; } vec3;
>a->y * b->y +

Это примеры из языка Си плюс-плюс, это не чистый Си. Автор новости садись, два!

Ответить | Правка | Наверх | Cообщить модератору

27. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (27), 30-Апр-20, 19:32 
Где тут плюс плюс? Автор коммента, у тебя что, переполнение?
Ответить | Правка | Наверх | Cообщить модератору

28. "Разработчики V8 представили декомпилятор для  WebAssembly"  +/
Сообщение от Аноним (-), 01-Май-20, 21:44 
Вот тут

>Например, скомпилированная в wasm исходная Си-функция

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру