
This article introduces reverse engineering of Android apps: what it is, the tools used, and how to make your own app harder to reverse engineer.
Reverse engineering means taking something apart to understand how it works. In software, it means turning a compiled program back into a form a person can read, to study its behaviour. Security testers reverse engineer their own applications to find weaknesses such as hard-coded secrets and insecure logic.
Only reverse engineer applications you own or are authorised to test.
Android apps are distributed as APK files. An APK is an archive, similar to a ZIP file, that contains the app's compiled code (.dex files), resources, assets, certificates and the manifest file.
.dex files to Java .jar files..jar back into readable Java source.apktool.bat..jar from the Apktool downloads page, save it in the same folder, and rename it to apktool.jar.apktool d apk_filename.apk.To find hard-coded secrets, insecure storage and the back-end APIs the app depends on.
Only on apps you own or have explicit permission to test.
Try Vooki Pro free for 7 days
Test the back-end APIs your Android app depends on. The trial unlocks every feature for 7 days, and scanning runs on your own machine.
Related: API keys and secrets in front-end code · How to security-test a REST API from OpenAPI or Postman