Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android Security
  3. Enjarify

Enjarify

Apache-2.0Python1.0.3

A tool for translating Dalvik bytecode to Java bytecode, enabling Java analysis tools to work with Android applications.

GitHubGitHub
2.7k stars539 forks0 contributors

What is Enjarify?

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.

Target Audience

Android reverse engineers, security researchers, and developers who need to analyze Android applications using Java-based tools.

Value Proposition

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.

Overview

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.

Key Features

  • Dalvik to Java Translation — Converts Android DEX files and APKs into standard Java JAR files for analysis
  • High Compatibility — Designed to handle obscure features and edge cases that cause other tools to fail
  • Multi-dex Support — Automatically processes all DEX files in multi-dex APKs and combines them into a single JAR
  • Optimized Output — Includes bytecode optimizations to make output more readable for human analysis
  • Pure Python Implementation — Runs on Python 3 with optional PyPy support for better performance

Philosophy

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.

Use Cases

Best For

  • Converting Android APKs to JAR files for Java-based static analysis
  • Analyzing multi-dex Android applications with standard Java tools
  • Reverse engineering Android apps where dex2jar fails
  • Processing Android DEX files with obscure bytecode features
  • Using Java decompilers and analyzers on Android applications
  • Security research on Android APK files

Not Ideal For

  • Real-time debugging or dynamic analysis of Android applications
  • Projects requiring preserved source metadata like line numbers and annotations
  • Teams preferring graphical user interfaces over command-line tools

Pros & Cons

Pros

Superior Edge Case Handling

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.

Automatic Multi-Dex Support

Seamlessly processes all DEX files in multi-dex APKs and combines them into a single JAR, simplifying analysis of complex apps without manual intervention.

Optimized Bytecode Output

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.

Cross-Platform Python Base

Implemented in pure Python 3 with optional PyPy support, making it easy to run on various operating systems without complex dependencies or compilation.

Cons

Missing Metadata Translation

Does not translate optional metadata like sourcefile attributes, line numbers, or annotations, which hinders detailed debugging and source-level analysis.

Potentially Stale Development

The repository is noted as out of date with development moved elsewhere, raising concerns about maintenance, updates, and long-term support.

Performance Without PyPy

Runs slower on standard CPython; using PyPy is recommended for better performance, adding an extra setup step and dependency.

Open Source Alternative To

Enjarify is an open-source alternative to the following products:

d
dex2jar

dex2jar is a set of tools for converting Android .dex files to Java .class files, enabling reverse engineering and analysis of Android applications.

Frequently Asked Questions

Quick Stats

Stars2,747
Forks539
Contributors0
Open Issues6
Last commit6 years ago
CreatedSince 2015

Tags

#python-tool#java-bytecode#dalvik-bytecode#apk-analysis#android-tools#android-reverse-engineering#static-analysis

Built With

P
Python 3

Included in

Android Security9.3k
Auto-fetched 18 hours ago

Related Projects

jadxjadx

Dex to Java decompiler

Stars49,748
Forks5,659
Last commit10 days ago
radare2radare2

UNIX-like reverse engineering framework and command-line toolset

Stars24,428
Forks3,278
Last commit1 day ago
Bytecode ViewerBytecode Viewer

A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)

Stars15,571
Forks1,267
Last commit7 days ago
JD-GUIJD-GUI

A standalone Java Decompiler GUI

Stars15,160
Forks2,473
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub