As a programmer, we frequently come across interesting apps and games on the Play Store. And we wish that there would be some magical software that can take the .apk file and reveal its actual source code.
So today, I’m gonna give you an ultimate list of the best APK decompilers. You just need to provide the .apk file and they will generate the complete project including Java source code and assets.
I have organized these APK decompilers into four sections.
Let’s have a look at each of them and select the best option according to your requirements.
JADX is a reverse engineering tool that converts Dex and Apk files into Java source code. It can also decompile Dalvik bytecode to Java classes with ease. You just need to provide the Dex, APK, zip, aar, or aab file.
One of its main features includes decoding the AndroidManifest.xml
file and other resources from resources.arsc
It is also packed with a built-in deobfuscator.
JADX comes with a command-line interface as well as an intuitive GUI. You can even use it as a library in your Java projects.
In JADX GUI, you can view the decompiled code with highlighted syntax, jump to the declaration, find usage, and perform a full-text search. Its GUI also includes the smali debugger.
All major Operating Systems such as Windows, macOS, and Arch Linux support JADX.
Bytecode Viewer (BCV) is a Reverse Engineering Suite for Java/Android apps.
Basically, BCV helps us in the reversing process while it also uses some other open source tools to complete the app decompilation task.
It is written entirely in Java and has a light footprint compared to other Apk decompilers. BCV is released under GPL-3.0 license which means that it is completely open source and you are free to use it in personal or commercial projects.
Bytecode Viewer is packed with 6 decompilers, 2 APK converters, 2 assemblers, 3 disassemblers, debugging, advanced searching, & more.
Apktool is used for reverse engineering closed, binary, 3rd party Android apps. You can use it to decode resources to nearly original form. After that, rebuild them by making some modifications.
Apktool enables us to debug smali code step by step. It also creates a project-like file structure as well as automates some repetitive tasks like building apk, etc. which makes working with the app easier.
According to its developer, Apktool is NOT intended for non-legal uses or piracy. It could be used for adding support for custom platforms or some other features, localizing, and other GOOD purposes.
It is highly recommended to use this tool according to the fair use doctrine. But, the source code of Apktool is released under the Apache-2.0 license which means that you can use or re-distribute it however you like.
ClassyShark is an open-source binary inspection tool created for Android developers. You can use it to browse any Android executable file and display important information like dex counts, class interfaces, members, and dependencies.
ClassyShark is a reliable tool for apk reverse engineering. It supports multiple formats including executables (.apk, .jar, .class), libraries (.dex, .aar, .so), as well as all Android binary XMLs: AndroidManifest, layouts, resources, etc.
smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android’s Java VM implementation. The syntax is loosely based on Jasmin’s/dedexer’s syntax and supports the full functionality of the dex format (annotations, debug info, line info, etc.)
Androguard is a reverse engineering and pentesting tool for Android applications. It is written in Python programming language.
Enjarify is a tool for translating Dalvik bytecode to equivalent Java bytecode. This allows Java analysis tools to analyze Android applications.
Enjarify is a pure python 3 application, so you can just git clone and run it. To run it directly, assuming you are in the top directory of the repository, you can just do
python3 -O -m enjarify.main yourapp.apk
For normal use, you’ll probably want to use the wrapper scripts and set it up on your path.
It is an updated version of “Enjarify by Google”. According to an official note, all future development of Enjarify will occur in this repository.
Open-source, cross-platform Qt-based IDE for reverse-engineering Android application packages. It features a friendly IDE-like layout including a code editor with syntax highlighting support for *.smali code files.
This APK decompiler is written in the C++ programming language.
ApkToolPlus is a visual cross-platform apk analysis tool.
An APK (android application), JAR & Dex decompiler for android. This is a Decompiler that extracts the source code of an Android application (including XML files and image assets), JAR Packages, and dex files. Works directly from your android device.
The Android Decompile is a script that combines different tools for successfully decompiling any Android package (APK) to its Java source code and resources (including the AndroidManifest.xml, 9-patches, layout files,…).
To accomplish the goal of a full decompile it uses these tools:
The tools have been built on Mac, but most of it should work on all UNIX environments! Code formatting is not guaranteed to work on all platforms.
The decompile-apk tool consists of some scripts and different tools, it can provide an auto decompile function for producing Java source code and resources from Android Apk files that are displayed on GUI.
This Android decompiler is written using Shell and Batchfile.
The tool for quickly decompile apk/aar/dex/jar, will be updated depending on the update of libs. It works on Windows, Mac, and Linux.
Apk changer is a command line program for modifying apk files. It is similar to apk manager, but has more options.
This project makes it easy to convert an installed Android app that was built with the Android SDK into readable source files.
That’s it! The output will be a zip file of the passed-in package or keyword that contains as much of the decompiled code as possible.
NOTE: There will be no .java files, but .class files will be generated. I’d recommend using something like JD-Gui (https://github.com/java-decompiler/jd-gui/releases) to convert it into Java code.
Some of the dependent projects are not able to parse all APKs, so it isn’t guaranteed to be complete decompilation. If you see any problems during the run of APK Decompiler, I would encourage you to file a bug report with the appropriate project author!
APK Decompiler wraps the following projects:
Small utility to decompile your apks so you don’t have to worry about using lots of different tools. At the moment, it only works on Mac and Linux. Check out the releases section and download the specific file for your system.
If you have folders with empty spaces this may be a problem for jd-cli which is one of the dependencies of this project. So… just try to avoid them ;P
A ruby gem to view android apk as java code in GUI
Before starting the process it checks whether the env is set up or not. If not it downloads the required tools and continues with the process.
DeAPK is an open-source, online APK decompiler that lets you upload an APK and then decompile it to Smali or Java sources. It is built using Laravel, Vue.js, Bootstrap, FontAwesome, Pusher, Redis, MySQL, apktool, jadx, and hosted atop the Oracle cloud platform.
A simple bash script to decompile android apps. Through this tool, you can decompile android apps with a single command.
Android binary XML decoding library in Rust.
ABXML is a library that is able to decode APK files in Rust. It tries to make it easy to work with the binary documents found inside the APK files. It is able to decode the contained resources.arsc and also all the binary XML documents contained in the res/
folder. It also exposes some structures to work at a lower level, in case anyone will be interested.
The code is deeply inspired by Apktool: Without it, this library wouldn’t exist.
A simple Shell script that allows for one-step decompilation of apk files via various decompilers.
A python-based application that uses external tools to decompile Android APKs. Extracting the JAVA source code, manifest, assets, etc.
Project Inspired by http://www.javadecompilers.com/ to help people easily Decompile/Reverse Engineer an android apk file. Initially intended to be a website for which the developer did get a domain (androiddecompilers.com).
As decompiling is a resource-intensive process after having it running for about 4 months, the developer was unable to keep up with the server cost. So, he shut down the website. But, he then decided to make it an open-source project.
A C# project that enables us to decompile an Android APK file.
A docker container to decompile apk files.
Pull the image :
docker pull morxander/apk_decompiler:latest
Then navigate to the apk
file directory and execute the following command :
docker run --rm -v $(pwd):/apk morxander/apk_decompiler apktool d /apk/{apk_file_name.apk} -o /apk/output
You should find a directory called output
with the decompiled apk files.
To make it easy in the future you can add it as a function in your bashrc
:
function decompile_apk { docker run --rm -v $(pwd):/apk morxander/apk_decompiler apktool d /apk/$1 -o /apk/$1_output }
Then make sure to reload your bash profile and to use it, execute :
decompile_apk file.apk
Along with signing apks, apk CSigner is capable of compiling & decompiling apks serving the purpose of pure sources/resources replacement.
Introduction: The developer recently joined Android Developers and has published CoolesTech RSS Feed Reader. All went fine until he had to self-sign his app (personal private key), and that’s what was like a nightmare (although it’s relatively easy); test keys worked like a charm when self-certificates failed… But Google does not allow test certificates as you may have noticed.
He tried signar 1.3 and signer 0.3 but after his app seemed successfully signed he still got “application not installed”.
So he created his own tool, called “CSigner” that only runs in windows and comes with 2 versions (32-bit & 64-bit)
The only requirements are Java and Windows.
This package is written in JavaScript to bring the power of JADX and Apktool to NodeJS. Basically, it acts like a mediator that communicates with Java-based apk decompilation tools. Its command line helps you unpack any APK (get its java sources and assets) as well as decrypt its manifest.
Decode APK file and extract resources.
The UnboxAPK de-compiler is one of the best tools for uncovering the contents of an APK file and understanding how an APK allows the application to operate correctly. To decompile any APK file, all you have to do is upload your APK file to the platform above, where it says ‘Upload’. The de-compiler will take care of the rest, and start unraveling the contents of the APK file. Depending on the size and the contents inside the APK file, the time required to complete the de-compilation process varies. If the size of the APK file is small, the de-compilation process will take only a few seconds. The maximum size limit (at the moment) for the de-compiler is 100 MB.
Once the APK has been de-compiled, you can download the zipped file containing the de-compiled files through the UnboxAPK API. There are various ways to view the de-compiled files, and one of the best ways is to use Android Studio.
Currently, the UnboxAPK website only supports de-compiling Android applications. The capability to de-compile iOS applications will soon follow. The UnboxAPK decompile is powered by jadx.
Android application package (APK) is the package file format used to distribute and install application software onto Google’s Android operating system.
This site uses a perfect open-source APK and DEX decompiler called Jadx: https://sourceforge.net/projects/jadx/files/
Jadx decompiles .class and .jar files, but also it produces Java source code from Android Dex and Apk files.
The resources in an Android APK file are compressed and stored in binary format.
Apktool (https://ibotpeaches.github.io/Apktool/) is an instrument for reverse engineering 3rd party, closed, binary Android apps. It can decode resources to their original form.
You may use this website to extract and research assets and the manifest file.
Choose an APK file and upload it and this online tool will decompile it in just a couple of minutes.
All applications for Android phones are distributed as APK Files. These files contain all the code, images, and other media necessary to run the application on your phone. This website will decompile the code embedded in APK files and extract all the other assets in the file.
Drag and drop your artifact into the online decompiler to view the content online or download it. Navigate through and inspect decompiled code online without installing anything.
Decompile your APKs in one click. Just drag and drop your APK. Now count till three. Your APK is decompiled and is ready for download. Don’t worry, decompilation quality will be best in class.
Apk Easy Tool is a lightweight GUI application that enables you to manage, compile, decompile, sign and modify the APK files you are working on without too much hassle.
APK Easy Tool is absolutely free for commercial and non-commercial use.
Please note: This tool is not meant for newbies, but meant for faster tasks, for those who are lazy to use CMD.
A tool package to decompile & disassemble APKs (android packages).
Java Runtime Environment (JRE) must be installed.
An updated version of APK_OneClick.
Android App Decompiler is a useful tool to unextract and decompiles Android APK. When you ran the Decompiler then created a folder with all Files from then APK and the dex (dalvik executable format) being converted to a jar file. You must only now use a Java Decompiler like jd-gui and you have all files of the App.
ApkDissector is a Java Based Android APK Decompiler.
Once you click decompile it will create a folder called extract and inside that, you will find a folder having the same name as the file where you will get all the extracted contents of the apk
Select APK/DEX – Click this button to browse and select the APK file.
Decompile APK/DEX – Click this button to decompile and extracts the contents of the APK file.
All the extracted files will be within the extracts directory within the folder name .apk
Select APK/DEX – Click this button to browse and select the DEX file which will be located inside the extracts/.apk directory
Decompile APK/DEX – Click this button to decompile and extracts the contents of the DEX file.
All the extracted files will be under extracts within \DEX_extracts
Decompile and debug binary code. Break down and analyze document files. Android Dalvik, Intel x86, ARM, MIPS, RISC-V, S7 PLC, Java, WebAssembly & Ethereum Decompilers.
JEB Decompiler has two editions. These are mentioned below.
With AndroChef Java Decompiler you can decompile apk, dex, jar, and java class files. It’s simple and easy.
AndroChef Java Decompiler is Windows XP, Windows 2003, Windows Vista, Windows 7, Windows 8, 8.1, and Windows 10 decompiler for Java that reconstructs the original source code from the compiled binary CLASS files. AndroChef Java Decompiler is able to decompile the most complex Java 6 applets and binaries, producing accurate source code.
AndroChef successfully decompiles obfuscated Java 6, Java 7, and Java 8 .class and .jar files. Support Java language features like generics, enums, and annotations. According to some studies, AndroChef Java Decompiler is able to decompile 98.04% of Java applications generated with traditional Java compilers- a very high recovery rate. It is a simple but powerful tool that allows you to decompile Java and Dalvik bytecode (DEX, APK) into readable Java source code.
Useful for Java developers, programmers, software engineers, and enthusiasts. Complete Android Decompilation suite, very easy to use.
Note: This APK Decompiler for MAC is not available now. Previously, it was available on the below URL.
http://formulaintel.over-blog.com/2018/12/apk-decompiler-for-mac.html
Let’s be honest, there is no reason to remember how to decompile stuff with the various tools available. Wouldn’t it be nice to just decompile the $h*! out of things right off the fingertips in Visual Studio Code? Well, here we go:
This extension decompiles …
.pyc
and .pyo
Just right-click → Decompile
on a supported executable and wait for the magic to happen.
The decompilation result is added to a temporary sub-workspace. You can right-click → Download
files to your local file system right from the sub-workspace.
Android Reverse-Engineering Workbench for VS Code. It provides an ultimate Android Reverse Engineering experience right inside your VS Code.
APKLab seamlessly integrates the best open-source tools: Quark-Engine, Apktool, Jadx, uber-apk-signer, apk-mitm, and more to the excellent VS Code so you can focus on app analysis and get it done without leaving the IDE.
apktool.yml
)In this application, you have to give permission to access photos, media, and files from your external storage. After that, select Apk file from your external storage. Decompile the selected app. Then Abstract the Apk. The zip file will be saved in your external storage. From this application, you will see the Decompiler APK Source code.
A decompiler to extract the source code of an APK (android app), jar & dex file. Ad-Free Pro version is available through In-App purchase.
Please note that this application is NOT meant for mods. Please do NOT attempt to use this application for any mods.
Explore the Dex / Apk files of all your installed apps and downloaded apk’s.
A simple decompiler is included but is not able to show method bodies.
We evaluated the performance of Llama 3.1 vs GPT-4 models on over 150 benchmark datasets…
The manufacturing industry is undergoing a significant transformation with the advent of Industrial IoT Solutions.…
If you're reading this, you must have heard the buzz about ChatGPT and its incredible…
How to Use ChatGPT in Cybersecurity If you're a cybersecurity geek, you've probably heard about…
Introduction In the dynamic world of cryptocurrencies, staying informed about the latest market trends is…
The Events Calendar Widgets for Elementor has become easiest solution for managing events on WordPress…
View Comments
http://www.apkdecompiles.online/
this website is not working?
try this one http://www.unboxapk.com/apk-decompiler
Thanks for reporting the broken link. I really appreciate that.
This website was working correctly when I added its link. Anyways, I'll update this article soon.
thank you reply me
this website is not working?
plz add this one
Thanks for the great collection!
I think you should also add APK Editor Studio to the list.
Thanks for the long list of apk decompilers, ill try to download and use the first one jadx dex to java decompiler, idk if itll work but I hope it does, also just to make sure: im not decompiling apps to steal or copy, actually i barely know how to create apps lol, im just using it to learn how some apps work, specially my favorite ship moe game :)
yes