JEB-декомпилятор
![]() | |
![]() | |
Оригинальный автор(ы) | Николя Фаллиер |
---|---|
Разработчик(и) | ПНФ Программное обеспечение, Inc. |
Стабильная версия | 5.10
/ 27 февраля 2024 г [1] |
Написано в | Ява |
Операционная система | Microsoft Windows , Mac OS X , Linux |
Платформа | Ява |
Тип | Реверс-инжиниринг |
Лицензия | Собственный |
Веб-сайт | www |
JEB — дизассемблирования и декомпиляции программа для Android . приложений [2] и собственный машинный код. Он декомпилирует байт-код Dalvik в исходный код Java , а x86 , ARM , MIPS , RISC-V машинный код в исходный код C. и Выходные данные сборки исходного кода являются интерактивными и могут быть подвергнуты рефакторингу . Пользователи также могут писать свои собственные сценарии и плагины для расширения функциональности JEB.
В версии 2.2 представлены модули отладки Android для Dalvik и собственного кода (Intel, ARM, MIPS). Пользователи могут «беспрепятственно отлаживать байт-код Dalvik и собственный машинный код для всех приложений [...], включая те, которые явно не допускают отладку». [3]
В версии 2.3 представлены декомпиляторы собственного кода. Первым декомпилятором, поставляемым с JEB, был 32-битный интерактивный декомпилятор MIPS.
JEB 3 поставляется с дополнительными декомпиляторами, включая Intel x86, Intel x86-64, WebAssembly (wasm), Ethereum (evm), блокчейн Diem (diemvm).
JEB 4 был выпущен в 2021 году. В JEB 4.5 был добавлен декомпилятор RISC-V. Декомпилятор блоков ПЛК S7 был добавлен в JEB 4.16.
JEB 5 вышел в 2023 году.
История
[ редактировать ]JEB — первый декомпилятор Dalvik, обеспечивающий интерактивный вывод, поскольку специалисты по обратному проектированию могут проверять перекрестные ссылки, вставлять комментарии или переименовывать элементы, такие как классы и методы. По возможности пользователю доступно соответствие между байт-кодом и декомпилированным Java-кодом. Хотя JEB позиционируется как декомпилятор, он также обеспечивает полное представление APK (манифест, ресурсы, сертификаты и т. д.). API Python позволяет пользователям настраивать или автоматизировать действия с помощью сценариев и плагинов на и Java.
Название может быть отсылкой к известному программному обеспечению безопасности IDA, например «JEB» = rot1 («IDA»).
Декомпиляторы
[ редактировать ]JEB поставляется со следующими подключаемыми модулями декомпилятора собственной разработки и с открытым исходным кодом:
- Байт-код Dalvik на Java
- Байт-код Java в Java
- Машинный код Intel x86/x86-64 на C
- Машинный код ARM на C
- Машинный код MIPS на C
- Машинный код RISC-V на C
- Байт-код S7 (MC7) на C
- Байт-код WebAssembly на C
- Байт-код EVM (скомпилированные смарт-контракты Ethereum) в Solidity исходный код, подобный
- Байт-код Дима [4] (скомпилированные модули diemvm, работающие на блокчейне Diem) в исходный код, подобный mvir (Move IR)
Другие плагины
[ редактировать ]JEB поставляется с большим количеством дизассемблеров и плагинов отладчика. [5]
JEB позволяет анализировать файлы любого формата за счет добавления собственных или сторонних плагинов. Примеры: плагин анализатора PDF (собственный), плагин документа XLS (с открытым исходным кодом).
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Список изменений JEB
- ^ Челл и др. Справочник хакера мобильных приложений , стр. 240–241. 2015 год
- ^ Страница описания продукта JEB
- ^ Репозиторий GitHub
- ^ Матрица функций