Reverse Engineering of software is extracting the source codes of it. In simple words, it is the breakdown of software/app to know-how it is made, which programming languages are used, etc.
How to do reverse engineering of Android app
Reverse engineering of an Android app is easy and happens in fewer steps. There are many open-source tools to decompile an Android app, the choice is up to you which one to use, in this tutorial we are using jadx.
How to decompile Android app with JADX
1. Download the jadx tool and unzip
2. Download the apk file of the app that you want to decompile, and paste it into the same folder where you extracted the jadx.
3. install JDK and set the environmental variables if you haven’t already.
4. open CMD with administrator privileges and change the directory to jadx folder using the CD command
Example: cd D:\Softwares\Decompiler\jadx
5. enter the following command: jadx-gui –show-bad-code “enter-apk-filename-here“
Example: jadx-gui --show-bad-code "com.netflix.mediaclient.apk"
6. later the jadx-gui window will appear with the reverse engineering of the android apk done.
7. now you will see the source code of an android app.
Copying source code, or modifying the app without the publisher’s permission is illegal, but you can use it to take inspiration and improve your coding skills.
The above steps were about reverse engineering of android apk, but if you don’t have a PC or your intention was just to peek into the project file, you can do the following, and it can be done on your smartphone as well.
Step 1 – Download the apk file of an android app
Step 2 – Open the apk using zArchive or 7zip.
Step 3 – You will see the project file where you can easily peek inside the apk.
Reverse engineering android games
Android apps are mostly either made of Kotlin or Java, but for Android games, you need to know which game engine is used, and you can do that by navigating to the assets folder inside an apk, most game studios use the OBB file to store graphics, so checkout .obb if you don’t find the assets folder in an apk.
once you know which game engine is used, you can search for its decompiler online. Most of the android games are either made of unreal engine or Unity. Below are some of the best decompilers for Unreal Engine and Unity.
- EU Explorer
- Unity assets explorer
- DevX-Unpacker Magic Tools
Unreal engine decompiler