Apktool VS dex2jar

Compare Apktool vs dex2jar and see what are their differences.

Apktool

A tool for reverse engineering Android apk files (by iBotPeaches)

dex2jar

Tools to work with android .dex and java .class files (by pxb1988)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Apktool dex2jar
64 5
18,851 11,830
- -
9.1 5.4
1 day ago 15 days ago
Java Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Apktool

Posts with mentions or reviews of Apktool. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-03.

dex2jar

Posts with mentions or reviews of dex2jar. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-03.
  • Understanding security in React Native applications
    9 projects | dev.to | 3 Apr 2024
    App tampering and repackaging can be performed by using reverse engineering or tampering tools, such as Apktool, dex2jar, etc.
  • What Happens When Your Phone Is Spying on You
    2 projects | news.ycombinator.com | 15 Mar 2023
    A week ago I purchased a bluetooth device that takes some measurements. You require an Android or iOS application. The first thing the iOS app did was request permission for your location. Immediate fired up MITMproxy [1] running in transparent `--mode wireguard` and installed it's certificate in the iOS trust store. It was sending a whole bunch of data to China and HK. Since I don't have a jailbroken iPhone, it's off to Android.

    For BLE scanning, Android does require permissions for location, but this application is using a Chinese branded tracking SDK and sending encrypted (within already encrypted TLS). So it's time to start reversing and instrumenting the runtime.

    Well - not so easy, they used a commercial packer that encrypts their compiled bytecode and decrypts and runs it within a C++ library. I managed to bull the Dalvik out of memory using Frida[2], covert it to java bytecode with dex2jar[3] then into decompiled java with jadx [3].

    Since the developer relied on the packer to hide/obfuscate their software, it's quite easy to follow. The libraries that do the location tracking on the otherhand are obfuscated so now I'm at the stage of identifying where to hook before the encrypted blobs are sent to servers in China.

    I've sunk about 8 hours into this so far. The message here is that to understand what some applications on your phone does you need to really invest time and effort. The developers increase the cost to the consumer to know what their application is doing by obfuscation, encryption and packing. It's asymmetric.

    [1] https://mitmproxy.org/posts/wireguard-mode/

    [2] https://frida.re/docs/android/

    [3] https://github.com/skylot/jadx

    [3] https://github.com/pxb1988/dex2jar

  • Reverse Engineering Tools in 2022
    3 projects | news.ycombinator.com | 18 Sep 2022
    I think they forgot to google translate the disadvantages of JEB Decompiler

    I haven't used JEB to comment, but I've gotten a lot of mileage out of https://github.com/pxb1988/dex2jar#readme and then feed the normal Java jars it produces into https://github.com/mstrobel/procyon#readme and (of course) one shouldn't overlook picking your favorite tool for dealing with AndroidManifest.xml which often has fun things hiding in it

    While digging up those links, I was reminded that some folks enjoy https://github.com/Konloch/bytecode-viewer#is-there-a-demo because it can be easier to "try out" a few of the decompilation engines, but I don't use it because it's hard to do batch things with it, versus dex2jar into procyon is automation friendly

  • The Code the FBI Used to Wiretap the World
    5 projects | news.ycombinator.com | 7 Jul 2022
  • Decompilers for android
    2 projects | /r/androiddev | 22 Sep 2021
    Take a look at apktool: https://ibotpeaches.github.io/Apktool/ and dex2jar: https://github.com/pxb1988/dex2jar

What are some alternatives?

When comparing Apktool and dex2jar you can also consider the following projects:

jadx - Dex to Java decompiler

comm - Comm is the working name of this open source messaging project.

Uber Apk Signer - A cli tool that helps signing and zip aligning single or multiple Android application packages (APKs) with either debug or provided release certificates. It supports v1, v2 and v3 Android signing scheme has an embedded debug keystore and auto verifies after signing.

ricochet - Anonymous peer-to-peer instant messaging

binwalk - Firmware Analysis Tool [Moved to: https://github.com/ReFirmLabs/binwalk]

vineflower - Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.

androguard - Reverse engineering and pentesting for Android applications

Recaf - The modern Java bytecode editor

Ghidra-Cpp-Class-Analyzer - Ghidra C++ Class and Run Time Type Information Analyzer

procyon - Procyon java decompiler - Procyon is a binary star system in Canis Minor

apk-mitm - 🤖 A CLI application that automatically prepares Android APK files for HTTPS inspection

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