Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
enjarify — Traduce bytecode Dalvik (DEX/APK) a bytecode Java equivalente, permitiendo que las herramientas de análisis de Java procesen aplicaciones Android con alta corrección para casos extremos. | Kitploit
Herramientas/GitHubGitHub/google/enjarify
Seguridad AndroidAnálisis EstáticoAnálisis de CódigoIngeniería InversaSeguridad MóvilAnálisis de BinariosArchived
GitHubgoogle/enjarify

enjarify

Traduce bytecode Dalvik (DEX/APK) a bytecode Java equivalente, permitiendo que las herramientas de análisis de Java procesen aplicaciones Android con alta corrección para casos extremos.

Ver Repositorio
2.7k5396hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Nota: Este repositorio puede estar desactualizado. El desarrollo futuro se llevará a cabo en https://github.com/Storyyeller/enjarify.

Introducción

Enjarify es una herramienta para traducir bytecode Dalvik a bytecode Java equivalente. Esto permite que las herramientas de análisis de Java analicen aplicaciones Android.

Uso e instalación

Enjarify es una aplicación pura de Python 3, por lo que puedes simplemente clonar el repositorio y ejecutarlo. Para ejecutarlo directamente, asumiendo que estás en el directorio principal del repositorio, puedes hacer

root@kitploit:~
python3 -O -m enjarify.main yourapp.apk

Para uso normal, probablemente querrás usar los scripts envolventes y configurarlo en tu PATH.

Linux

Para mayor comodidad, se proporciona un script envolvente de shell, enjarify.sh. Esto intentará usar Pypy si está disponible, ya que es más rápido que CPython. Si deseas poder llamar a Enjarify desde cualquier lugar, puedes crear un enlace simbólico desde algún lugar en tu PATH, como ~/bin. Para hacer esto, asumiendo que estás dentro del nivel superior del repositorio,

root@kitploit:~
ln -s "$PWD/enjarify.sh" ~/bin/enjarify

Windows

Se proporciona un script envolvente por lotes, enjarify.bat. Para poder llamarlo desde cualquier lugar, simplemente agrega el directorio raíz del repositorio a tu PATH. El script por lotes siempre invocará a python3 como intérprete. Si deseas usar pypy, solo edita el script.

Uso

Asumiendo que configuraste el script correctamente en tu PATH, puedes llamarlo desde cualquier lugar simplemente escribiendo enjarify, por ejemplo:

root@kitploit:~
enjarify yourapp.apk

La forma más básica de uso es simplemente especificar un archivo apk o dex como entrada. Si especificas un apk multidex, Enjarify traducirá automáticamente todos los archivos dex y generará los resultados en un único jar combinado. Si especificas un archivo dex, solo se traducirá ese archivo dex. Por ejemplo, asumiendo que extrajiste manualmente los archivos dex, podrías hacer

root@kitploit:~
enjarify classes2.dex

El archivo de salida predeterminado es [inputname]-enjarify.jar en el directorio actual. Para especificar explícitamente el nombre del archivo de salida, usa la opción -o o --output.

root@kitploit:~
enjarify yourapp.apk -o yourapp.jar

Por defecto, Enjarify se negará a sobrescribir el archivo de salida si ya existe. Para sobrescribir la salida, usa la opción -f o --force.

¿Por qué no dex2jar?

Dex2jar es una herramienta más antigua que también intenta traducir Dalvik a bytecode Java. Funciona razonablemente bien la mayor parte del tiempo, pero muchas características oscuras o casos extremos pueden hacer que falle o incluso produzca resultados incorrectos de forma silenciosa. Por el contrario, Enjarify está diseñado para funcionar en la mayor cantidad de casos posible, incluso para código donde Dex2jar fallaría. Entre otras cosas, Enjarify maneja correctamente nombres de clase Unicode, constantes usadas como múltiples tipos, conversiones implícitas, manejadores de excepciones que saltan al flujo de control normal, clases que referencian demasiadas constantes, métodos muy largos, manejadores de excepción después de un manejador catchall, y valores iniciales estáticos del tipo incorrecto.

Limitaciones

Enjarify actualmente no traduce metadatos opcionales como atributos de archivo fuente, números de línea y anotaciones.

Enjarify se esfuerza por traducir con éxito la mayor cantidad de clases posible, pero hay algunos casos potenciales en los que simplemente no es posible debido a limitaciones en Android, Java o ambos. Afortunadamente, esto solo ocurre en circunstancias forzadas, por lo que no debería ser un problema en la práctica.

Consejos de rendimiento

PyPy es mucho más rápido que CPython. Para instalar PyPy, consulta http://pypy.org/. Asegúrate de obtener PyPy3 en lugar de PyPy normal. El script envolvente de Linux utilizará automáticamente el comando pypy3 si está disponible. En Windows, necesitarás editar el script envolvente tú mismo.

Por defecto, Enjarify ejecuta optimizaciones en el bytecode que lo hacen más legible para los humanos (propagación de copias, eliminación de valores no utilizados, etc.). Si no necesitas esto, puedes acelerar las cosas desactivando las optimizaciones con la opción --fast. Ten en cuenta que en el caso muy raro de que una clase sea demasiado grande para caber en un classfile sin optimización, Enjarify la reintentará automáticamente con todas las optimizaciones habilitadas, por lo que esta opción no afecta la cantidad de clases que se traducen con éxito.

Descargo de responsabilidad

Este no es un producto oficial de Google (experimental o de otro tipo), es solo código que casualmente es propiedad de Google.

Descargar herramienta