Learning resource

Android App Reverse Engineering 101

Maddie Stone's free English workshop introducing static reverse engineering of Android apps, published as GitHub Pages. Its chapters cover app components and entry points, Dalvik bytecode and smali, decompiling DEX with jadx, finding and reading JNI native libraries in Ghidra, and string deobfuscation. Seven exercises with written solutions apply this to triaging malware samples and spotting command-execution flaws in pre-installed apps.

Requirements & limits

  • Reviewed at commit 17f9eeb, the last default-branch commit (2020-04-29); most pages date from 2019 and the material is not being extended. The introduction says the workshop covers static analysis only and does not teach app development, malware analysis or vulnerability hunting themselves; the conclusion points to Frida and dynamic analysis as next steps.
  • Exercises are designed for the author's Ubuntu 18.04 64-bit VM image, offered for VirtualBox and VMware from Google Drive, with jadx and Ghidra installed. The exercise APKs (apps triaged as possible malware and two pre-installed vendor apps, each named with a SHA-256 digest in most exercises) exist only inside that VM; the repository holds Markdown pages and images and no APKs.
  • The native-library chapter assumes some ARM assembly, pointing to outside tutorials, and says every exercise library also has an x86 build. The pages were last updated in 2020, so their screenshots may not match current jadx and Ghidra releases.
  • The repository has no license file, so reuse terms for the text are not stated; the pages credit the Android robot logo to Google under CC BY 3.0. This collection read the pages at the reviewed commit and did not download the VM or repeat the exercises; the workshop mentions no AI or REA use.

About this entry

Type
Learning resource
Category
Learning resources
Relationship
Learning resource
Targets
App · Binary

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. index.md GitHub · maddiestone/AndroidAppRE · Revision 17f9eeb
  2. https://github.com/maddiestone/AndroidAppRE/tree/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10
  3. reversing_dex.md GitHub · maddiestone/AndroidAppRE · Revision 17f9eeb
  4. reversing_native_libs.md GitHub · maddiestone/AndroidAppRE · Revision 17f9eeb
  5. obfuscation.md GitHub · maddiestone/AndroidAppRE · Revision 17f9eeb
  6. conclusion.md GitHub · maddiestone/AndroidAppRE · Revision 17f9eeb
  7. README.md GitHub · maddiestone/AndroidAppRE · Revision 17f9eeb

More in References and learning

All 43 entries in References and learning