apk-decompiler
apk decompiler (full process), xml and sources in a single click (for windows only)
this is a package with all the necessary products (downloaded from other repos) and a single batch file to allow execution of the decompile process in a single click,
-
if you wish to do the whole process manually then follow these instructions:
https://stackoverflow.com/a/6081365/530884 -
if you wish to decompile the apk online without the need to download or install anything then use this site:
https://www.decompiler.com
Requirements:
- windows operating system (Windows 10 and above)
- Java 1.8 or above installed (https://www.oracle.com/java/technologies/downloads/#jdk17-windows)
- Java bin folder set as part of your path (
set path=%path%;C:\Program Files\Java\jdk-15.0.2\bin
)
Install instructions:
- Download the latest release from this repo (https://github.com/shaybc/apk-decompiler/releases/tag/latest)
- extract it into a folder (preferrably where the path has no spaces)
Use instructions
- copy the APK file you want to decompile into the «apk-source» folder (found at the folder you extracted the release)
- double click the go.bat file and wait for the process to finish
- see your decompiled apk at the «apk-output» folder (found at the folder you extracted the release)
Download manually latest versions:
if you want to updated the software versions included in this repo, then go ahead and download the software from the following links:
[APK Tool]
- APK Tool (apktool) — https://bitbucket.org/iBotPeaches/apktool/downloads
- Apk Tool windows batch — https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat
- framework-res.apk — http://www.androidfilehost.com/?fid=23212708291677144
- APK Tool Install instructions: https://ibotpeaches.github.io/Apktool/install
after download: copy the content into «apktool» folder (found at the folder you extracted the release)
so you should have this structure:
-- apk-decompiler
|
---> apktool
|
---> apktool.bat
---> apktool.jar
---> framework-res.apk
i also recommend editing the ‘apktool.bat’ file and remarking the last line (add the word REM to the beginning of it and a space after it)
[Dex Tools]
Dex to Jar (dex2jar) — https://github.com/pxb1988/dex2jar/releases
after download: copy the content into «dex-tools» folder (found at the folder you extracted the release)
so you should have file structure similar to this:
-- apk-decompiler
|
---> dex-tools
|
---> bin
---> lib
---> d2j_invoke.bat
---> d2j_invoke.sh
---> d2j-apk-sign.bat
...
[Java Decompiler Cli]
JD Cli (jd-cli) — https://github.com/intoolswetrust/jd-cli/releases
after download: copy the content into «jad» folder (found at the folder you extracted the release)
so you should have file structure similar to this:
-- apk-decompiler
|
---> jad
|
---> bin
---> jd-cli
---> jd-cli.bat
---> jd-cli.jar
---> LICENSE.txt
[Java Decompiler GUI] Optional:
Java Decompiler (Jad) — https://github.com/java-decompiler/jd-gui/releases
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.
- Open Source APK Decompilers
- Online APK Decompilers
- APK Decompiler for Windows, Mac, or Linux
- APK Decompiler Android/iOS Apps
Let’s have a look at each of them and select the best option according to your requirements.
Open Source APK Decompilers
JADX – Dex to Java decompiler
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.
Pros
- Convenient and quick
- More perfect GUI interface, with more practical functions
- Decompile code readability is high
Cons
- Resource files partially missing
Download
Bytecode Viewer
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.
Newly Added Features
- Patched CVE-2022-21675 (Make sure to upgrade to v2.11.X)
- Dark mode with multiple themes
- Translated into over 30 languages including Arabic, German, Japanese, Mandarin, Russian, Spanish
- Plugin Writer – create and edit external plugins from within BCV
- Fixed Java & Bytecode editing/compiling
- Tabbed plugin console
- Right-click menus on the resource and search panels
- Javap disassembler
- XAPK support
- Updated nearly all dependencies (incl. decompilers like CFR, JD-GUI, etc.)
- Updated ASM library to version 9.1
- Added support to Java files compiled using JDK > 13
- Migrated to Maven
Important Features
- Simply drag and drop to decompile and search Java Jars & Android APKs
- File format support for Class, Jar, XAPK, APK, DEX, WAR, JSP, Image Resources, Text Resources & More
- 6 Built-in Java decompilers: Krakatau, CFR, Procyon, FernFlower, JADX, JD-GUI
- 3 Built-in Bytecode disassemblers, including 2 assemblers: Krakatau and Smali/BakSmali
- APK/DEX Support from Dex2Jar and Enjarify
- Built-in Java Compiler
- Advanced static-search functionality
- Customizable UI
- Plugins + Script Engine Design
- Malicious code scanning API
- Translated Into over 30 Languages Including Arabic, German, Japanese, Mandarin, Russian, and Spanish)
- Export functionality as Runnable Jar, Zip, APK, Decompile All As Zip, Etc.
Pros
- Written to run on Java 7, but also supports Java 8.
- Compile Decompiled Java classes with Ranino Compiler.
- Quickly decompile classes using JD-Core.
- Easily edit APKs via Smali/Baksmali integration.
- Decompile Java with 6 different decompilers (Fernflower, JADX-Core, DJ-GUI/Core, CFR, Krakatau, and Procyon).
- Bytecode Decompiling with CFIDE.
- Android APK integrated with Dex2Jar.
- Securely launch Java applications and insert hooks via EZ-Injection.
- Scan for malicious code with the Malicious Code Scanner plugin.
- Export as DEX, Jar, Class, Zip, or Java Source File.
- Open Android APKs, Android DEX, Java Class Files, and Java Jars. (WAR & JSP Support!)
- Extensively configurable, over 100+ settings!
- Works seamlessly with all Operating Systems.
- Integrate BCV into Windows by installing it, it’ll associate all .class, .dex and .apk to open with BCV.
- View Jar & APK Resources with ease by APKTool.jar integration.
- 100% free and open sourced under GPL v3 CopyLeft.
Cons
- The developer of Bytecode Viewer does not provide any online apk decompiler. But, we can upload it on a server and deliver Bytecode Viewer as a service.
- Analyze file slower
Download
Apktool
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.
Pros
- Complete resource files
- Source code in detail
Cons
- Using more complex, need for a combination of multiple tools
- Cannot better view the APK architecture logic
Download
ClassyShark
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.
Pros
- Easy to use, just a command line
- The source directory structure is clear, view the entire APK architecture graphically
Cons
- Source code too simple
- Cannot get resource files
Download
Smali/Baksmali
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.)
Download
Androguard
Androguard is a reverse engineering and pentesting tool for Android applications. It is written in Python programming language.
Features
- DEX, ODEX
- APK
- Android’s binary XML
- Android resources
- Disassemble DEX/ODEX bytecodes
- Basic Decompiler for DEX/ODEX files
Download
Enjarify by Google
Enjarify is a tool for translating Dalvik bytecode to equivalent Java bytecode. This allows Java analysis tools to analyze Android applications.
Usage and installation
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.
Download
Enjarify by Storyyeller
It is an updated version of “Enjarify by Google”. According to an official note, all future development of Enjarify will occur in this repository.
Download
APK Studio
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.
Features
- Cross-platform, run on Linux, Mac OS X & Windows
- Decompile/recompile/sign & install APKs
- Built-in code editor (*.java; *.smali; *.xml; *.yml) w/ syntax highlighting
- Built-in viewer for image (*.gif; *.jpg; *.jpeg; *.png) files
- Built-in hex editor for binary files
Download
ApkToolPlus
ApkToolPlus is a visual cross-platform apk analysis tool.
Features
- ApkTool: Apk decompile, compile, and sign.
- Apk protection: Dex encryption, anti-reverse, prevent secondary packaging.
- ApkInfoPrinter: Apk common information viewing tools, such as AndroidManifest.xml, apk signature, version number, and so on. Support drag directly to view apk information.
- Apk source view tool: Apk source view tool, supports multi-dex.
- Format conversion tool: jar2smali, class2smali, dex2smali (apk2smali), smali2dex, class2dex.
- Angle generation tool: Icon angle generation tool
- JD (Java decompiler)
- JAD (Java decompiler)
- JBE (Java bytecode editing tool)
- Proguard (Java code obfuscation tool)
Download
ShowJava
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.
Features
- Select either CFR 0.140, JaDX 0.9.0, or FernFlower (analytical decompiler) to use as the decompiler.
- Runs directly on an android device (4.1.x and above).
- Select apk/jar/dex from sdcard (or) from a list of installed applications.
- Decompiles android resources (layouts, Drawables, Menus, AndroidManifest, image assets, values, etc).
- Easy to use source navigator with built-in media & code viewer.
- Displays code in a clean-syntax-highlighted form with zoom & line-wrap.
- The decompiled source can easily be copied from the sdcard (the source is stored in show-java folder in the sdcard).
- Share the decompiled source easily with the built-in archive + share mechanism.
Download
Android Decompiler
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:
- Dex2Jar : Version 0.0.9.15
- android-apktool : Version 1.5.2
- JD-Core-Java : Version 1.2
- Artistic Style (astyle) : Version 2.04
Supported Platforms
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.
Download
Decompile APK
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.
- jd-gui
- jadx
- classyshark
- bytecode-viewer
Platforms
- Mac
- Linux / Unix
Download
TTDeDroid
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.
Download
Apk Changer
Apk changer is a command line program for modifying apk files. It is similar to apk manager, but has more options.
Features
- Normal and Advanced Mode.
- Multicore support(much faster than other tools in batch operations and image optimization)
- Decompile/Compile selected part of apk files.(Batch mode supported, framework dependent decompiling supported too)
- Optimize pngs inside apk files(including .9.pngs).(Batch mode supported)
- Zipalign apk files
- Sign apk files(Batch mode supported)
- Recompress apk
- Protect Apk resources
- Dex to java decompilation
- Adb logcat with logcat options(via WiFi or usb cable)
- Four versions of apktool(1.4.3, 1.5.3, 2.3.2, latest development) – if an error occurs while decompilation, the program will try to use an alternative version and will compile your apk with a version that was used for decompilation
- Four languages at the moment(Russian, English, Dutch, Deutch) – if you want to translate the program into another language just inform the developer on GitHub.
- Settings (Compression level, Heap size, optimization level, apktool version, smali version, language…).
- Error detection. If an error occurs, the program reports about it.
- Logs (For batch Decompilation/Compilation program creates two logs. First is full and second shows only with what apks occurred errors).
- Decompile/Compile jar files(framework files)
Download
APK Decompiler
This project makes it easy to convert an installed Android app that was built with the Android SDK into readable source files.
How to use
- Ensure you have ADB installed
- Attach your Android device
- Run dist/decompile.bat
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:
- dex2jar (https://bitbucket.org/pxb1988/dex2jar) – Generates Java .class files
- apktool (https://ibotpeaches.github.io/Apktool/) – Generates readable resource files
Download
apk-decompiler
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.
Known issues
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
Download
apkToJava
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.
Supported Operating Systems
- Mac
- Linux
Download
DeAPK
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.
Download
Android decompiler
A simple bash script to decompile android apps. Through this tool, you can decompile android apps with a single command.
Download
ABXML
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.
Download
apk2java
A simple Shell script that allows for one-step decompilation of apk files via various decompilers.
Download
APK Decompiler – based on Python
A python-based application that uses external tools to decompile Android APKs. Extracting the JAVA source code, manifest, assets, etc.
Download
Andorid Decompiler as a web service
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.
Download
EraAPK
A C# project that enables us to decompile an Android APK file.
Download
APK Decompiler – Docker Container
A docker container to decompile apk files.
Requirements
- Docker
How to use
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
Download
apk CSigner
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.
Download
apk unpack – NodeJS APK unpacker
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.
Download
Online APK Decompilers
Online APKTool
Decode APK file and extract resources.
Visit Website
APK Decompiler by Unbox APK
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.
Visit Website
Android Apk decompiler by JavaDecompilers
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.
Visit Website
Apktool – Reverse engineer Android 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.
Visit Website
Android APK Decompiler
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.
Visit Website
Decompiler.com
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.
- F#, Visual Basic, C# decompiler: .exe and .dll .NET decompilation back to C# project.
- Java decompiler: .jar and .class decompilation back to Java source code.
- Android decompiler: .apk, .xapk and .dex decompilation back to Java source code.
- Python decompiler: .pyc and .pyo decompilation back to Python source code.
- Lua decompiler: .luac and .lub decompilation back to Lua source code.
Visit Website
APK Decompiler by Appscms
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.
Visit Website
APK Decompiler for Windows, Mac, or Linux
APK Easy Tool 1.56 / 1.57 beta-1
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.
Visit WebsiteDownload
APK_OneClick – decompile & disassemble APKs
A tool package to decompile & disassemble APKs (android packages).
Features
- All features are integrated into the right-click menu of Windows.
- Decompile APK classes to Java source codes.
- Disassemble APK to smali code and decode its resources.
- Install APK to the phone by right-clicking.
- Recompile APK after editing smali code and/or resources.
- During recompile:
- Optimize png images
- Sign apks
- Zipalign
- During recompile:
Requirements
Java Runtime Environment (JRE) must be installed.
Download
APK_OneClick_Updated
An updated version of APK_OneClick.
Download
Android App Decompiler
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.
Features
- Unpacks the APK
- Convert dex to jar File with dex2jar (internal)
Download
APK Dissector
ApkDissector is a Java Based Android APK Decompiler.
How to decompile an APK file?
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
How to decompile the DEX file?
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
Features
- Java Based
- Analyze APK Files
- View Decompressed XML Files
- Executable Jar
- Decompile APK Files
- Convert .DEX to .JAVA files
Download
JEB Decompiler
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.
- JEB Pro & JEB Android
- JEB Community Edition
Download
AndroChef Java Decompiler
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.
Download
APK DECOMPILER FOR MAC
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
Decompiler – Visual Studio Code Extension
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 …
- Binary executables for various platforms
- as supported by Ghidra; Windows PE, Linux ELF, IOS, etc..
- or IDAPro (Experimental, Windows Only for now)
- Java Jar archives and compiled Classes
- Android APK’s
- Python
.pyc
and.pyo
- Ethereum/EVM based Smart Contracts
- (Experimental, Linux/MacOs only)
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.
Download
APK Lab – APK Reverse Engineering WorkBench for VS Code
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.
Features
- Decode all the resources from an APK
- Disassemble the APK to Dalvik bytecode aka Smali
- Decompile APK to Java source code
- Interactive Malware Analysis Report
- Initialize Project dir as Git repo
- Excellent Smali language support with Smalise
- Analyze & Hack effectively with feature-rich VS Code
- Apply MITM patch for HTTPS inspection
- Build an APK from Smali and resources
- Rebuild an APK in Debug mode for dynamic analysis
- Sign the APK seamlessly during the build
- Install the APK directly from VS Code
- Support for Apktool-style projects (
apktool.yml
) - Support for most Apktool CLI arguments
- Android resource frameworks management (Coming soon!)
- Support for user-provided keystore for APK signing
- Download and configure missing dependencies
- Supports Linux, Windows, and Mac
Requirements
- JDK 8+
- quark-engine >=21.01.6 (for malware analysis)
- adb
Download
APK Decompiler Android/iOS Apps
APK DECOMPILER APP
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.
Download
Show Java – A Java Decompiler
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.
Download
Dexplorer
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.
Features
- Fully optimized for Android 6.0 Marshmallow and Runtime Permissions
- Browse through java packages and files
- Show Class definition, fields, and method signatures
- Browse through assets, lib and res folders, and files
- View the AndroidManifest.xml
- Use root if necessary (not mandatory)
- Tablet (2 panes) support
- Several source tree icon styles
- Several syntax highlight styles
- Option to ignore ActionbarSherlock and AppCompat resources
- Previews of commonly used file types:
- XML files, with syntax highlighting
- Image files, with adjustable background colors
- Audio files, with playback
- Font files, with a text editor
- General text files
- These files can also be viewed in your application of choice
- Can be used to open apk files from a file explorer app
Download
DecAPK
для Windows
DecAPK — простой, но достаточно удобный декомпилятор приложений для ОС Android. В этой программе можно декомпилировать (распаковывать), компилировать (собирать) и подписывать приложения Android. Настроек как таковых в DecAPK нет, а работать очень легко и интуитивно понятно. Для декомпиляции выбираете apk-файл и место распаковки. После того как все изменения в файлах для Android-программы изменены, нужно провести компиляцию — просто указать путь к проекту. После запаковки подписываете приложение, указывая путь к собранному apk-файлу. Вот так просто, легко и удобно.
ТОП-сегодня раздела «Компиляторы»
Visual Assembler
Visual Assembler — эта программа написана для тех, кто программирует на ассемблере. Borland Tasm -…
DecAPK 1.0
DecAPK — простой, но достаточно удобный декомпилятор приложений для ОС Android…
Golden Studio 4.5
Golden Studio — полноценная среда программирования, которая позволяет создавать exe программы на языке PHP с поддержкой GUI или без программирования…
Отзывы о программе DecAPK
Admin
Отзывов о программе DecAPK 1.0 пока нет, можете добавить…
Learn how to decompile an APK file or DEX in Windows using the jadx tool.
Android application package (APK) is the package file format used to distribute and install application software onto Google’s Android operating system. There are a lot of reasons why you would like to decompile an APK, to learn how an application works, to increase the security and complexity of your code, to steal source code from applications … i mean, to analyze it … and others.
To decompile an APK file, in this article we are going to use jadx, the command line and GUI tool for produce Java source code from Android Dex and Apk files.
Requirements
- You need obviously Java installed on your machine.
Disclaimer
In no case shall we (Our Code World) or the developer of this application be liable for direct, indirect, special or other consequential damages resulting from the use of this application or from the application packages (APKs) decompiled with it. Use it at your own risk.
1. Download the jadx binaries
To get started with the decompilation of an APK file with jadx, you will need the binaries of this application that you can download through different sources namely Github and SourceForge:
Github releases
This application is public and licensed under the Apache 2.0 License. The source code is available on Github and the binaries are available to download in the releases window here. Download always the latest version:
With SourceForge
You can download the zip with the binaries of jadx from SourceForge here. Download always the latest version:
The download of the binaries from any of the previous sources, should be a zip file.
2. Extract zip content
Extract the content of the downloaded zip files into a folder of your preference, the content of the zip will be something like:
Of our interest is the bin folder that contains the bat files that allow us to use jadx either with the command line or the graphic user interface (GUI):
Important
Execute the bat files with administrator rights, otherwise in some PCs jadx won’t even start.
You can use jadx from the command line or from an user graphical interface:
With GUI
jadx is generally used with a graphical user interface, start the jadx-gui.bat
file (inside the jadx-folder/bin
folder) with administrator rights. As first you will get a window that allows you to choose the APK file that you want to decompile:
Once you’ve selected the file, jadx will decompile it and will provide an explorer IDE-style (tree style view) in the left side of the application that list all the Java packages and files of the APK. In this example we are going to use the APK of Our Code Editor Premium, whose native code is based in Cordova and the app itself with Javascript (the source code is inside Resources/assets/www
):
Pretty cool isn’t ? You can save all the code within a folder if you click in the top menu, File and Save all.
With the command line
You can use jadx as a command line utility. Open a new command prompt with administrator rights and switch to the bin directory of jadx using the cd
command e.g:
cd C:\Users\sdkca\Desktop\jadx\bin
Located in the bin directory where the jadx file is, you can execute the commands, for example to extract the code from an APK, you can use the following command:
REM the command has the following structure
REM jadx -d [path-output-folder] [path-apk-or-dex-file]
jadx -d C:\Users\sdkca\Desktop\source-code C:\Users\sdkca\Desktop\test-apks\ourcodeeditor-premium.apk
The execution of the previous command should extract all the source code in the source-code
folder in the desktop (note that the folder should already exist).
Happy decompilation !
Время на прочтение3 мин
Количество просмотров12K
Короткий практический пример как разобрать apk приложение, что-то в нем изменить и собрать обратно в среде windows без использования android studio. Статья подойдет для новичков, сложного ничего не будет. Будем изменять (русифицировать) не полностью русифицированное приложение для видеокамеры ordro pro ep8.
На написание статьи подтолкнула другая статья на Хабр — habr.com/ru/articles/780694
Однако там описано, на мой взгляд, недостаточно подробно, новичкам будет тяжело. Кроме того, в приведенной статье использовались средства сборки-разборки под Linux, здесь будет windows-вариант.
В качестве цели для исследования будет выступать мобильное приложение в формате apk для камеры ordro pro ep8.
При эксплуатации это приложение демонстрирует вполне разумную локализацию, но в некоторых моментах все-таки «проглядывает оригинал» на иностранном языке:
Разбираем apk.
Самое простое, что можно сделать на старте — просто переименовать apk в zip и посмотреть на получившийся архив приложения:
Такой трюк позволяет сформировать общее представление о приложении, но не более. В своем содержимом файлы все равно будут иметь нечитаемый код:
Поэтому понадобится утилита apktool.
Устанавливать (инсталлировать) ее не нужно, только положить рядом с apk. Может также потребоваться java.
Проверить, установлена ли java можно так:
Далее команда apktool d com-ordro.apk полностью разберет приложение:
После этого можно наблюдать в том числе smali, о которых говорилось в уже упомянутой статье:
Файлов много, найти текст, который хотелось русифицировать, непросто. Поэтому пойдем по пути наименьшего сопротивления. Возьмем скриншот иероглифа из картинки приложения, переведем в текст и поищем этот текст по всем файлам в папках:
Как не сложно догадаться для каждого языка имеются соответствующие папки, в одной из которых и нашелся иероглиф. Нас интересует «папка для русского языка» (values-ru):
В файле находим частично непереведенные названия вкладок, кнопок и т.д. Изменяем текст на правильный:
Не лишним будет заглянуть в иные, рядом расположенные файлы:
Собираем обратно в apk.
После того, как все необходимые изменения внесены, можно приступить к сборке нового apk.
Сборка apk осуществляется также apktool командой apktool b com-ordro, где в качестве аргумента — папка с файлами, в которых происходили изменения.
Готовый файл apk будет в папке dist:
Однако, если данный файл перенести на мобильный и попытаться установить — попытка завершится неудачей. Необходимы дополнительные манипуляции с файлом apk перед переносом.
Необходимо выполнить выравнивание содержимого apk (aligning) и его подпись (sign).
Здесь частично будут использованы сведения из статьи medium.com/@sandeepcirusanagunla/decompile-and-recompile-an-android-apk-using-apktool-3d84c2055a82
Но так как, сведения из статьи немного устарели, как например, в части алгоритма шифрования, будут использоваться немного иные команды.
Алгоритм следующий.
1.Создаем ключ-пару, который «подпишем» наш apk:
keytool -genkeypair -keyalg DSA -keysize 2048 -keystore my-release-key.keystore -alias alias_name -validity 10000
Пароль можно задать любой как и данные, ввод которых можно пропускать, нажимая enter.
На выходе рядом с apk появится файл — ключ-пара:
2. Подпишем файл(signing), используя нашу ключ-пару.
jarsigner -verbose -sigalg SHA256withDSA -digestalg SHA256 -keystore my-release-key.keystore com-ordro.apk alias_name
В терминале увидим при успешном выполнении примерно следующий вывод:
Однако, если проверить подписанное приложение jarsigner -verify -verbose -certs com-ordro.apk может выскочить ошибка, которая в дальнейшем не позволит установиться приложению на мобильном:
Можно пойти по длинному пути и исправить ошибку с ключ-парой и сертификатами, но мы поступим проще. Подпишем и выровняем apk с помощью uber-apk-signer.
Скачав uber-apk-signer.jar в папку с готовым apk, выполним команду:
java -jar uber-apk-signer.jar -a com-ordro.apk
*Данная команда заменяет собой 2 предыдущих шага с выравниванием и подписанием.
Она использует все тот же zipalign.exe и создает ключ-пару. Если zipalign нет, то его нужно скачать и добавить его в PATH.
На выходе получим готовый apk, который уже можно устанавливать на мобильном:
Результат:
Спасибо за внимание.
Приложение до и после, а также файлы для работы можно скачать — здесь.
ps. для тех кого интересует вопрос (как и меня) собственно по камере — можно ли с нее получать поток, в обход мобильного приложения — да, возможно rtsp:\\192.168.1.1:554