Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android Security
  3. dex2jar

dex2jar

Apache-2.0Javav2.4

A set of tools for converting Android .dex files to Java .class files and working with Dalvik bytecode.

GitHubGitHub
13.1k stars2.2k forks0 contributors

What is dex2jar?

dex2jar is a toolkit for working with Android .dex and Java .class files. It converts Dalvik Executable (.dex) files into Java .class files packaged as JARs, enabling analysis and reverse engineering of Android applications. The project includes tools for reading/writing dex files, disassembling to smali, and other utilities for bytecode manipulation.

Target Audience

Android developers, security researchers, and reverse engineers who need to analyze, debug, or modify Android APK files and Dalvik bytecode.

Value Proposition

Developers choose dex2jar for its reliable conversion of dex to Java bytecode, lightweight API for dex manipulation, and comprehensive toolset that supports smali/baksmali operations with enhanced features like escape sequence support.

Overview

Tools to work with android .dex and java .class files

Use Cases

Best For

  • Converting Android APK files to Java JARs for analysis
  • Reverse engineering Android applications to understand bytecode
  • Disassembling dex files to smali for modification
  • Debugging and testing Android app security
  • Studying Dalvik executable file structures
  • Decrypting strings within dex files for forensic analysis

Not Ideal For

  • Developers needing human-readable Java source code directly from decompilation
  • Teams preferring GUI-based reverse engineering suites with visual tools
  • Projects requiring dynamic analysis or runtime instrumentation of Android apps

Pros & Cons

Pros

Lightweight Dex API

Offers an API similar to ASM for reading and writing .dex files, enabling custom bytecode manipulation as highlighted in the README's comparison to ASM.

Reliable Dex-to-Jar Conversion

The d2j-dex2jar tool consistently converts .dex files to .class files packaged as JARs, facilitating Java-based analysis of Android applications.

Enhanced Smali Tools

Includes smali/baksmali implementations with support for escape sequences in type descriptors, providing more flexibility than standard versions.

Comprehensive Utility Set

Comes with additional tools like d2j-decrypt-string for decrypting strings in dex files, covering various reverse engineering needs beyond basic conversion.

Cons

Complex Initial Setup

Requires building from source using Gradle (./gradlew distZip) and manual unzipping, which is more involved than using pre-packaged binaries.

Fragmented Documentation

The README references multiple mirrors and old wikis, making it difficult to find up-to-date, cohesive guidance and support resources.

No Source Code Output

Outputs .class bytecode files instead of Java source code, necessitating separate decompilers like JD-GUI for readable analysis.

Frequently Asked Questions

Quick Stats

Stars13,107
Forks2,191
Contributors0
Open Issues375
Last commit1 year ago
CreatedSince 2015

Tags

#dalvik#java-bytecode#apk-analysis#android-reverse-engineering#security-tools#smali

Built With

G
Gradle

Included in

Hacking16.1kAndroid Security9.3k
Auto-fetched 1 day ago

Related Projects

DBeaverDBeaver

Free universal database tool and SQL client

Stars49,702
Forks4,132
Last commit2 days ago
jadxjadx

Dex to Java decompiler

Stars48,194
Forks5,496
Last commit4 days ago
radare2radare2

UNIX-like reverse engineering framework and command-line toolset

Stars23,481
Forks3,200
Last commit2 days ago
Bytecode ViewerBytecode Viewer

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

Stars15,494
Forks1,226
Last commit21 days 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