JEB es un software desensamblador y descompilador para aplicaciones Android [ 2 ] y código máquina nativo. Descompila el código de bytes Dalvik a código fuente Java , y el código máquina x86 , ARM , RISC-V y otros a código fuente C. Los resultados en ensamblador y código fuente son interactivos y se pueden refactorizar . Los usuarios también pueden escribir sus propios scripts y complementos para ampliar la funcionalidad de JEB.
Historia
JEB fue el primer descompilador Dalvik en ofrecer una salida interactiva, permitiendo a los ingenieros inversos examinar referencias cruzadas, insertar comentarios o renombrar elementos como clases y métodos. Siempre que sea posible, el usuario puede acceder a la correspondencia entre el código de bytes y el código Java descompilado. Si bien JEB se presenta como un descompilador, también ofrece una vista completa del APK (manifiesto, recursos, certificados, etc.). Una API permite a los usuarios personalizar o automatizar acciones mediante scripts y complementos, tanto en Python como en Java.
JEB 2.2 introdujo módulos de depuración de Android para código Dalvik y nativo (Intel, ARM, MIPS). Los usuarios pueden "depurar sin problemas el código de bytes Dalvik y el código máquina nativo, para todas las aplicaciones [...] incluidas aquellas que no permiten explícitamente la depuración". [ 3 ]
JEB 2.3 introdujo descompiladores de código nativo. El primer descompilador que se incluyó con JEB fue un descompilador interactivo MIPS de 32 bits.
JEB 3 se distribuyó con descompiladores adicionales, incluidos Intel x86, Intel x86-64, WebAssembly (wasm), Ethereum (evm) y la cadena de bloques Diem (diemvm).
JEB 4 se lanzó en 2021. Se añadió un descompilador RISC-V a JEB 4.5. Se añadió un descompilador de bloques PLC S7 a JEB 4.16.
JEB 5 se lanzó en 2023. En la versión 5.31 se añadió un descompilador SASS para código de GPU de Nvidia dirigido a arquitecturas Volta+/sm_70+. La versión 5.32 incluía VIBRE (por "Vibe Reversing"), un asistente de IA para ingeniería inversa respaldado por un LLM externo y el servidor MCP de JEB .
Descompiladores
JEB incluye los siguientes complementos de descompilación, tanto propietarios como de código abierto:
- Código de bytes de Dalvik a Java
- Código de bytes de Java a Java
- Código máquina Intel x86/x86-64 a C
- Código máquina ARM a C
- Código máquina MIPS a C
- Código máquina RISC-V a C
- Código de bytes S7 (MC7) a C
- Código de bytes de WebAssembly a C
- Código Nvidia SASS (kernels de GPU compilados) a C
- Código de bytes de EVM (contratos inteligentes de Ethereum compilados) a código fuente similar a Solidity.
- Código de bytes de Diem [ 4 ] (módulos diemvm compilados que se ejecutan en la cadena de bloques de Diem) a código fuente similar a mvir (Move IR)
Otros complementos
JEB incluye una cantidad considerable de desensambladores y complementos de depuración. [ 5 ]
JEB permite analizar cualquier formato de archivo mediante la adición de complementos nativos o de terceros. Algunos ejemplos son: un complemento para analizar archivos PDF (propietario) y un complemento para documentos XLS (de código abierto).
Véase también
Referencias
Enlaces externos
- Sitio web oficial
- descompiladores de Java
- Desmontadores
- Depuradores
- Software para modelado de software