29 best APK Decompilers

Every Android application that you use on your phone is distributed as APK files that contain images, codes, and other essential media files that assist in the smooth running of the app.

To extract the code and other files from such applications, one can use APK Decompilers. Using such decompilers enable complete decoding of an application’s code.

29 Best APK Decompilers- Review

Here are 32 Online APKdecompilers tools you can use to decompile an android package.

1. JADX

This is an open-source decompiler that uses Graphical User Interface as well as the tools of Command Line Interface to decompile Android Dex and APK files. The code of such files is then used to build Java source code. After downloading this software, the user can run the GUI or CLI version by running it from the bin directory. A number of Operating Systems such as Windows, Arch Linux, and macOS support JADX. best APK decompilers

Essential Features 

  • It includes a deobfuscator.
  • Dalvik bytecode is decompiled to java code by using aar, APK, aab, dex, and zip files
  • Resources are decoded from resources.arsc
  • Important GUI features of JADX include: complete text search, jumping to declaration feature, finding usage, using highlighted syntax to see decompiled codes

2. Bytecode Viewer

A lightweight software that uses a user-friendly interface to enable the viewing of JAVA Bytecode. It also includes a GUI JAVA decompiler, bytecode editor, APK editor, GUI Smali, DEX editor, Procyon JAVA Decompiler, Dexdecompiler, FernFlower JAVA Decompiler, Hex viewer, Debugger, etc.

Essential Features

  • It can be used to edit class files or dex files
  • It is equipped with Dex2Jar and Jar2Dex that enable the user to save and load the application files easily To assemble and disassemble Bytecode, Krakatau Integration is used
  • To decompile JAVA, FernFlower, JD, Procyon, and CFR is used
  • It is equipped with Hex Viewer which is powered by JHexPane.
  • The user can select what each pane displays making the interface very uesr-friendly.
  • The search system is very precise and the user can search through variables, functions, and strings
  • Malicious code is easily detected through an in-built scanner
  • Features other built-in plugins like string decrypters.
  • Scripting system is available that also supports Groovy
  • Hooks and debugging codes can be graphically inserted
  • Users can begin using the Bytecode Viewer by installing and inserting a particular jar or APK in the workspace. 

3. Apktool

The Apktool is used for reverse engineering (decoding and rebuilding) closed, third-party, Binary Android applications. Smali code can be debugged in an orderly manner by using the reverse engineering process of Apktool.

4. ClassyShark

This is a binary inspection tool used by Android developers. It helps the developers browse through an Android executable. The browsing displays important information such as dexcounts, interface, and dependencies. 

The formats ClassySharksupports are listed below:

  • .apk
  • .jar
  • .dex
  • .aar
  • .class
  • .so
  •  AndroidManifest
  •  Resources and layouts

If you want to use ClassyShark to develop, you need to clone the repo, open it in an IDE editor, and use the various build options like Gradle script, RetroBuild, etc. 

5. Smali

This serves the purpose of assembling and disassembling specifically for the dex format. It is used by Dalvik. Smali is said to be inspired by the syntax of Jasmin or dedexer. It is capable of supporting the fully-functioning dex format including annotations or debugging information, etc. 

6. Androguard

This is a tool to play with Android files. It can disassemble DEX/ODEX bytecodes as well as decompile them. Its features include DEX/ODEX, Android’s binary XML, Android resources, Apk. Anthony Desnos and Geoffroy Gueguen are the developers of Androguard. 

7. Enjarify (Google)

This is a tool for converting Dalvik bytecode to equivalent JAVA bytecode. Java analysis tools are used to examine Android applications. This is a python 3 application so the user is only supposed to git clone and then, they are able to run Enjarify.

If users are looking to use Enjarify for regular purposes, they need to use wrapper scripts and set it on their paths.

For Linux users, a wrapper shell script is provided for convenient use. This allows Enjarify to use Pypy which is much faster than CPython. Create a symlink from your PATH in order to run/call Enjarify from any location. 

For Windows users, a wrapper batch script is provided. Add root directory of the repository to your PATH if you want to call out to Enjarify from any given location.

Python 3 is generally used as an interpreter but if the user wishes to use Pypy they can just edit the script. Enjarify can translate a number of classes but only a few can’t be translated due to an issue in either Android or Java: however, such issues are very rare. 

Enjarify uses optimizations for bytecodes making it readable for humans. However, upon disabling optimization, the entire process and functioning can be made much faster. 

8. APK Studio

It is an open-source IDE tool for reverse engineering Android applications. It is best known for its user-friendly layout similar to IDE that enables editing of codes by using syntax highlighting for even Smali code files.

This is one of the best tools to quickly decompile and break down Android applications for legal purposes. It runs on several operating systems including macOS X, Windows, and Linux. 

It has a built-in code-editor (.xml .yml .java. smali), a built-in image viewer (.jpg .jpeg .gif .png) as well as a built-in hex editor for files. 

9. ShowJava

This is an excellent decompiler tool that can extract the source codes of JAR packages, dex files, and Android applications. It can extract the code for Android apps including XML files and images.

The greatest convenience of using ShowJava is that it can be run from your android device directly. To decompile, the user is allowed to use either the FernFlower, CFR, or JADX as the analytical decompiler.

The application you want to extract the source code of can be selected from the list of installed applications on the device be it apk, dex, or jar file. It has a built-in media and code viewer that makes the source navigator very accessible.

The code is presented to the user with syntax highlighting. The code can be zoomed in and line-wrap can also be used. Copying of the decompiled code is enabled from the SD card and the code can also be shared. 

9. Android Decompiler

Andorid Decompiler is basically a script that makes use of various decompilers to decompile the Android applications to extract its Java source code and other resources.

This is a perfect tool for the complete decompilation of applications. Dex2Jar, android-apk tool, Artistic style, and JD-Core-Java are some of the tools used by the Android Decompiler to carry out full decompilation of applications.

This tool can be run on Mac as well as all UNIX operating systems. 

10. Decompile APK

This is a tool that is a combination of scripts with different assisting tools. The best feature of this is the auto-decompile function that enables the decompilation of android apk files of GUI to produce their java source code.

The tools that assist Decompile APK to carry out auto decompilation include dex2jar, jadx, jd-gui, apktool, classyshark, BVC. It can run on MAC, Linux, and UNIX.12. 

11. TTDEDroid

This tool can decompile apk/aar/jar/dex files and their source code can be extracted. It does not require the installation of a python environment for successful running.

12. APK Changer 

This is a CLI-based program that can enable the modification of apk files. It has a normal and advanced mode and multicore support that makes image optimization very fast.

13. Android Apk Decompiler

The user can choose the part of an application they want to assemble or disassemble. It protects apk resources and enables optimization of pngs to present inside apk files.

It runs in four languages such as English, Russian, Dutch, and Deutch. If an error occurs, APK Changer is programmed to inform the user. 

This tool is best for converting installed Android applications (built with Android SDK) into source files. To use this tool, users must install ADB. It is a very simple process that conducts maximum decompilation and then provides the user with the code in a zip file. 

This tool converts into class files but certain tools can be used by the user to get java codes instead. 

14. apkToJava

If a user simply wishes to view android applications as java codes whilst using the Graphical User Interface, this tool is ideal.

This tool downloads all the necessary tools and then conducts the process of converting apk to java codes. It can be run on Mac and Linux operating systems. 

15. DeAPK

This is a web application framework that allows the user to indulge in the creative developing experience. This application is equipped with easy commands and features that make the developing process very easy.

It has simple routing engines, broadcasting of real-time events, expressive database and syntax, background job processing. 

16. Android Decompiler

This is a script that enables the decompilation of apk files. To install this script for easy decompilation of Android applications, you need to clone, install dependencies, and then make executable. 

17. Android Binary XML

This is an efficient program that decodes apk files in Rust. If the user wishes to use and work with the binary files present inside android applications, they can use ABXML for this purpose.

All the resources and binary XML folders can be decoded easily with the help of this library. This library used buffers and wrappers.

Wrappers allow the read-only view and it presents the data only when it is accessed. Wrappers can be converted to buffers and vice versa. Some applications must be installed to run this program such as Rust, apktool, colordiff, etc. 

18. apk2java

apk2java is a shell script that allows the user to decompile android applications by using a number of decompilers. Android applications can be decoded and their java source code can be extracted.

19. Python based APK Decompiler

This is a python-based application. It can decompile android applications by using external decompiling tools and their java source code, assets, etc. are all extracted successfully. 

20. Webservice Android Decompiler

This program was initially supposed to be a website. It enables the users to conduct reverse engineering by disassembling android applications and assembling them again into applications with certain modifications.

Since the website idea did not work for the developer, he chose to convert this project into an open-source project. This program depends on Jadx, 7zip, and ApkTool. 

21. EraAPK

This is also an android application decompiler. 

22. Docker Container Android Decompiler

The user needs to install docker in order to run this decompiler. To use this, the user needs to pull the image, and find their way through the apk file directory and write a certain command.

To make this entire process easy for when you conduct it the next time, you can add the executed function to your bashrc. For executing the command next time, you can load your bash profile. 

23. Apk CSigner

This tool signs applications. Moreover, it can decompile and compile apks that are used as resources replacement. Apparently, signing applications can be quite an issue especially because Google does not allow test certificates.

Users struggling with application self-signing can use CSignerfor this purpose. It runs on 34-bit and 64-bit Windows Operating Systems.

The installation of Java and Windows is required to run the CSigner. Users that continuously receive the ‘application not installed’ error need to check out this application signing tool. 

Along with signing apps, it can easily conduct reverse engineering. 

24. APK Decompiler Tools

This is a very convenient tool for users new to decompiling. It kind of serves the same purpose as an auto decompiler.

All the user needs to do is to upload the required android application on the cloud of the developer and they will decompile the application and extract the code for the user.

25. APK Decompiler APP

This is a website that uses efficient decompiling tools like JADX and APKTool to decompile android applications and allow the users to conduct reverse engineering of 3rd party, closed, binary android applications. The resources of such decompiled applications are nearly restored to their original form.

This is necessary for the users because they need to use the original codes to rebuild the application after some modifications. In order to avoid repetitive tasks like decompiling applications, users can seek automated decompilation of apk which is a huge convenience.

It must be noted that decompiling apps and using their source code to rebuild those applications must not be done for any illegal purpose. 

26. Android APK decompiler

This is a website that allows users to upload certain android application packages for decompilation. Jadx is the decompiling tool used by this website.

It decompiles class and jar files and it also produces java source code from dex and apk files. For users that wish to extract code near to the original form, it is more advisable to use apktool instead of jadx. 

27. Apktool for reverse engineering

This website allows users to upload the android application package from their computer and decompile it completely to restore it to its original form. Assets are completely decoded using apktool.

The resources and assets of android applications are stored in binary form, which is then completely decoded by the apktool. The almost original source code can be used to rebuild the android application with certain changes. 

28. Android Apk Decompiler

This is another apk decompiler website that allows the users to upload their app and it is decompiled within minutes! The process is not only convenient but also extremely quick. All the code of the images, assets, and resources of a certain app is extracted by the website in a few minutes. 

29. Decompiler

This is an online website that decompiles exe, DLL, jar, class, apk, xapk, dex, pyc, pyo, luac, lub, smx, amxx files. You can choose the files from your computer and easily upload them.

Once the artifact is uploaded on the online decompiler, the user can either view the content online or download it. The user can view the all the content after decompilation online, without having to download it.

This decompiler can convert .exe and .dll files back to the C# project. Similarly, .jar, .class, .dex, .apk files are converted to java source code. Python files are converted to python source code. Lua files are decompiled back to Lua source code.

Various shortcuts are also available to provide quick access to certain functions like there are 4 buttons to open the work directories of decompiled android applications. 

Conclusion

A lot of beneficial android application decompilers are available for users to choose from. Some of the decompilers are available online, others need to be installed.

For newbies, automated decompiling and compiling features are available. Whether the users are advanced developers or newcomers, everyone can take advantage of these decompiling tools in order to extract useful source codes.

The extraction of source codes can enable the rebuilding of android application packages with modifications that can benefit custom platforms.

Although these decompiling tools offer exemplary services, it must be noted that these tools are not to be used for illegal purposes that may cause piracy of applications.

Written by

Abdul Raffay is a content creator and a blog writer. He has previously worked for techjuice and writes purely out of passion. He loves to tackle new and intriguing blog posts related to tech, lifestyle and home maintenance.

Leave a Reply

Your email address will not be published. Required fields are marked *