A tool for translating Dalvik bytecode to equivalent Java bytecode, enabling Java analysis tools to work with Android apps.
Enjarify is a tool that translates Dalvik bytecode from Android applications into equivalent Java bytecode. It solves the problem of analyzing Android apps with standard Java analysis tools by converting APK or DEX files into JAR format. This enables developers and security researchers to use existing Java toolchains on Android codebases.
Android developers, security researchers, and reverse engineers who need to analyze or audit Android applications using Java-based tools.
Developers choose Enjarify over alternatives like dex2jar because it handles obscure features and edge cases more reliably, reducing failures and silent errors. Its design prioritizes correctness in translation, making it suitable for complex or obfuscated code.
Enjarify is a tool that translates Dalvik bytecode from Android applications into equivalent Java bytecode. This translation allows standard Java analysis tools to process and analyze Android apps, bridging a gap in the development and security analysis workflow. It is designed to handle edge cases and obscure features more reliably than older alternatives.
--fast option to disable them for performance.Enjarify is designed to work in as many cases as possible, prioritizing correctness and reliability even for code where other tools would fail or produce incorrect results silently.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Correctly translates obscure Dalvik features like unicode class names and implicit casts that cause tools like dex2jar to fail, as highlighted in the README's comparison section.
Automatically processes all dex files from a multidex APK into a single combined JAR output, simplifying analysis of complex Android applications.
Includes bytecode optimizations for human readability by default, with a --fast option to disable them for performance, and handles oversized classes by retrying with optimizations.
Pure Python 3 application with wrapper scripts for Linux and Windows, compatible with CPython and faster with PyPy3, as per installation instructions.
Only supports version 35 dex files, missing Java 8 features introduced in Android N, O, and P, which limits analysis of newer apps.
Does not translate optional metadata such as sourcefile attributes, line numbers, and annotations, reducing usefulness for detailed debugging or code attribution.
Significantly slower with standard CPython; optimal performance requires PyPy3 setup, which adds complexity, especially on Windows where manual script editing is needed.
enjarify is an open-source alternative to the following products: