recaf
Un editor de código de bytes Java moderno y fácil de usar que abstrae las complejidades de los programas Java.
Descargar
- Lanzacohetes
- Uso e instrucciones que se encuentran en el repositorio del iniciador
- Lanzamientos de instantáneas
- Ver acciones de CI para artefactos de lanzamiento
- Lanzamientos independientes (ninguno para 4X actualmente)
Características
- Edite el código de bytes de Java con facilidad desde un nivel alto o bajo (menos las partes molestas)
- Las funciones del editor dentro de Recaf abstraen detalles complejos de aplicaciones Java compiladas como:
- La piscina constante
- Cálculo del marco de pila
- Usar instrucciones amplias cuando sea necesario
- ¡Y más!
- Interfaz navegable fácil de usar con acciones sensibles al contexto
- Soporte para aplicaciones estándar Java y Android
- Múltiples descompiladores para alternar, con todos sus parámetros completamente configurables
- Compilador integrado para permitir la recompilación de clases descompiladas, incluso si faltan algunas clases a las que se hace referencia (cuando se admite, la compatibilidad puede variar según la complejidad y la ofuscación del código)
- Un ensamblador de código de bytes con una sintaxis simple y herramientas de soporte.
- Vea el estado de las variables locales y los valores de la pila en cualquier punto de los métodos.
- Acceda a las variables por nombres en lugar de índices para obtener un código desensamblado más claro
- Convierta fragmentos de código fuente de Java en secuencias de código de bytes automáticamente
- Búsqueda de una variedad de contenido diferente: cadenas/constantes numéricas, clases y referencias de miembros, patrones de instrucción
- Herramientas para desofuscar código ofuscado
- Los archivos de clase especialmente diseñados con la intención de bloquear las herramientas de ingeniería inversa se parchean automáticamente cuando se abren en Recaf.
- Los archivos jar/zip especialmente diseñados se leen como lo hace la JVM, evitando trucos furtivos que pueden engañar a las herramientas de ingeniería inversa para que muestren datos incorrectos.
- Soporte para cambiar automáticamente el nombre de clases ofuscadas y sus miembros
- Soporte para cambiar manualmente el nombre de las clases y sus miembros (y exportar estas asignaciones a una variedad de formatos de asignación para usar en otras herramientas)
- Adjuntar al proceso Java en ejecución con capacidades de instrumentación
- y mucho mas
Puede encontrar una lista completa de funciones en la documentación del usuario.
Secuencias de comandos y complementos
Recaf expone casi toda su funcionalidad a través de API modulares. La automatización de comportamientos se puede realizar fácilmente con scripts o complementos para situaciones más complejas. También se pueden agregar funciones adicionales a través de complementos, que pueden registrar enlaces en las API que las ofrecen.
Para crear su propio script o complemento, consulte la documentación del desarrollador, específicamente la sección "complementos y scripts" .
Línea de comando
Recaf puede ejecutarse como una aplicación de línea de comandos, lo que puede resultar especialmente útil cuando se combina con los scripts proporcionados al inicio. Puede ver todos los argumentos de inicio actuales pasando --help
como argumento de la aplicación.
Configuración de desarrollo
Clona el repositorio mediante git clone https://github.com/Col-E/Recaf.git
Abra el proyecto en un IDE o genere la compilación con gradle.
IDE :
- Importe el proyecto desde el archivo
build.gradle
- Cree una configuración de ejecución con la clase principal
software.coley.recaf.Main
Sin IDE :
- Ejecute
gradlew build
- La salida se ubicará en:
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar