A tool for translating Dalvik bytecode to Java bytecode, enabling Java analysis tools to work with Android applications.
Enjarify is a tool developed by Google that translates Dalvik bytecode (used in Android applications) into equivalent Java bytecode. It solves the problem of analyzing Android APKs and DEX files with standard Java analysis tools by converting them into familiar JAR format.
Android reverse engineers, security researchers, and developers who need to analyze Android applications using Java-based tools.
Developers choose Enjarify over alternatives because it handles edge cases and obscure features more reliably, produces correct translations even when other tools fail, and supports multi-dex APKs automatically.
Enjarify is a tool that converts Dalvik bytecode (used in Android applications) into equivalent Java bytecode. This translation allows developers to use standard Java analysis tools on Android APKs and DEX files, bridging the gap between Android and Java ecosystems.
Enjarify prioritizes correctness and reliability over speed, aiming to successfully translate as many classes as possible even in challenging edge cases where other tools would fail.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles obscure Dalvik features like unicode class names and implicit casts that cause dex2jar to fail, ensuring more reliable translations as highlighted in the README.
Seamlessly processes all DEX files in multi-dex APKs and combines them into a single JAR, simplifying analysis of complex apps without manual intervention.
Applies optimizations such as copy propagation to make translated Java bytecode more readable for human analysis, though this can be disabled with --fast for speed.
Implemented in pure Python 3 with optional PyPy support, making it easy to run on various operating systems without complex dependencies or compilation.
Does not translate optional metadata like sourcefile attributes, line numbers, or annotations, which hinders detailed debugging and source-level analysis.
The repository is noted as out of date with development moved elsewhere, raising concerns about maintenance, updates, and long-term support.
Runs slower on standard CPython; using PyPy is recommended for better performance, adding an extra setup step and dependency.
Enjarify is an open-source alternative to the following products: