Как декодировать код .wasm? Является ли это возможным? - PullRequest
0 голосов
/ 16 октября 2019

Просто любопытно узнать, что код делает на компьютере, я хотел бы расшифровать код .wasm - доступен на https://lifeinspace.org/main.wasm. По сути, из того, что я нашел в Интернете, .wasm - это код веб-сборки, который мог бы быть:

Однако, поскольку у меня теперь есть код .wasm, есть ли способ или метод, чтобы выяснить, что это за код высокого уровня?

Просто я хочу знать, что это за .wasmкод делает. Когда я открываю этот код в notepad ++, он полон символов и инструкций по сборке, что не имеет никакого смысла.

Основная причина, по которой я хочу знать, заключается в том, выполняет ли этот код какие-либо нелегальные вещи, такие как DDoS.

Я отсканировал файл, используя различные антивирусные инструменты, но не смог обнаружить ничего плохого.

Краткая справка: lifeinspace.org - это веб-сайт, на котором, как утверждают, мы арендуем наши вычислительные мощности для научных расчетов. ,(Более подробная информация на https://money.stackexchange.com/questions/115754/lease-computing-power-to-earn-money-lifeinspace-org). Однако, он запускает код браузера (lifeinspace.org/main.wasm) и выполняет другой фоновый процесс, который мы не знаем. Единственный способ узнать, что он делает, эторасшифруйте код main.wasm, приведенный выше, поэтому мне любопытно.

Ответы [ 2 ]

2 голосов
/ 16 октября 2019

Ваш скомпилированный файл wasm может быть преобразован в текстовый формат wasm см. Страницу mdn . Вы можете использовать инструмент wast2wasm
Однако вы не можете получить более высокоуровневый источник (зависит от языка, компилятора и потери информации).
Нетантивирус, который может сканировать файл wasm. Wasm выполняется вашим браузером, и он очень хорошо защищает вас.
Самый простой способ шпионить за тем, что делает программа, это просматривать журналы и запросы в вашем браузере.

1 голос
/ 18 октября 2019

WebAssembly - это двоичный формат, но, как говорится в ответе Mubelotix, вы можете преобразовать его в стандартный текстовый формат для его проверки (или вы можете использовать такой инструмент, как графический просмотрщик , который я разработал). Вы также можете преобразовать его в эквивалентный код на языке высокого уровня, на котором он был написан, с учетом декомпилятора, и это может помочь понять его, но вряд ли оно будет где-то близко к исходному исходному коду.

Однакомодуль WebAssembly не имеет прямого доступа к внешнему миру, только через функции и объекты, которые вызывающий код JavaScript явно передает ему в качестве импорта. Это означает, что, проверяя определения, предоставленные ему при создании экземпляра, вы можете определить, что он не имеет доступа, например, к сети, вы можете быть уверены, что он не может быть частью атаки DDoS, без необходимости просматривать сам код WebAssembly.

...