Плагин декомпилятора для JEB
Декомпилятор JEB WebAssembly — это плагин для JEB, обратный -инженерная платформа, выполняющая дизассемблирование, декомпиляцию, отладку и анализ кодов и файлов документов. Этот инструмент для разработки и ИТ помогает пользователям реконструировать Бинарные модули WebAssembly (wasm). Он использует конвейер декомпиляции JEB для создания псевдо-кода C, чтобы упростить анализ и декомпиляцию wasm.
Интерактивный декомпилятор
WebAssembly или wasm – это новый открытый стандарт, определяющий переносимый формат двоичного кода для исполняемых программ. Его основная цель — обеспечить высокопроизводительные приложения на веб-страницах, но этот формат также может выполняться и интегрироваться с другими средами. Помимо HTML, CSS и Javascript, это четвертый язык, изначально запускаемый в браузерах.
Разработчики обычно не пишут WebAssembly напрямую. Вместо этого они компилируют программы в wasms. А в сочетании с WebGL они могут создавать удивительные вещи. Однако увеличение сложности двоичного кода может снизить его читабельность. Более того, дело обстоит иначе, когда речь идет о двоичном коде. Реверс-инжиниринг практически сложнее. Следовательно, люди, участвующие в разработке WebAssembly, опубликовали инструменты, которые могут проверять скомпилированные модули wasm.
JEB WebAssembly Decompiler является одним из таких инструментов. Это плагин для JEB, который помогает разработчикам декомпилировать двоичные коды wasm. Он предоставляет различные функции, в том числе расширенную разборку и синтаксический анализ двоичных модулей, а также декомпиляцию байт-кода в исходный код на псевдо-C. Таким образом, плагин состоит из преобразователя wasm-IR и дополнительного расширения анализатора.
Плагин также предлагает расширенную оптимизацию пропускает , чтобы помочь препятствовать защищенным или запутанным кодам. JEB WebAssembly Decompiler позволяет разработчикам делать все это в интерактивном окне дизассемблирования. Кстати говоря, приложение также поставляется с интерактивным слоем, который позволяет печатать, переименовывать, комментировать и делать перекрестные ссылки. Он также имеет полный доступ к API для сценариев и подключаемых модулей.
Плагин JEB WebAssembly Decompiler также можно использовать для декомпиляции смарт-контрактов, скомпилированных в wasm, в том числе Контракты Parity и EOS.
Некоторые ограничения
Хотя плагин JEB WebAssembly Decompiler предоставляет разработчикам инструмент для анализа двоичного кода wasm, все же есть некоторые задачи, которые приложение не может выполнить. Во-первых, он не поддерживает преобразование операций с плавающей запятой. Более того, кадры стека памяти недоступны из-за их динамической и необязательной природы в WebAssembly. Из-за этого они также не настраиваются.
Кроме того, глобальный и расширенный анализ, предоставляемый декомпилятором, отключен. Этот расширенный анализ очень полезен, поскольку он отвечает за обнаружение значений регистров и целей сайта вызова на этапе быстрого статического анализа. Впоследствии он также аннотирует листинг сборки. Чтобы устранить эти ограничения, подключаемый модуль декомпилятора должен доработать.
Полезный инструмент для разработчиков
В целом, JEB WebAssembly Decompiler — это удобный инструмент для разработчиков, которые хотят реконструировать двоичные модули wasm. Плагин предоставляет полезные функции, которые позволяют пользователям эффективно дизассемблировать и анализировать скомпилированные программы. В его функциональности есть несколько ограничений, но в нынешнем виде он может очень помочь в обеспечении оптимальной производительности вашего приложения.