# 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.

- Type: Learning resource
- Targets: App · Binary
- Category: Learning resources
- Relationship: Learning resource
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-27
- Original resource: <https://www.ragingrock.com/AndroidAppRE/>
- Primary source: <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/index.md>
- Catalog page: <https://awesomerea.org/resources/android-app-re-101/>
- Record JSON: <https://awesomerea.org/resources/android-app-re-101/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/android-app-re-101/index.md)

## 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.

## Primary sources

1. <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/index.md>
2. <https://github.com/maddiestone/AndroidAppRE/tree/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10>
3. <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/reversing_dex.md>
4. <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/reversing_native_libs.md>
5. <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/obfuscation.md>
6. <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/conclusion.md>
7. <https://github.com/maddiestone/AndroidAppRE/blob/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10/README.md>

## More in References and learning

- [Reverse Engineering iOS Applications](https://awesomerea.org/resources/re-ios-apps-course/index.md) · Learning resource
- [tiny-dec](https://awesomerea.org/resources/tiny-dec/index.md) · Learning resource
- [Reverse Engineering Reading List](https://awesomerea.org/resources/onethawt-re-reading-list/index.md) · Learning resource
- [Decomp Academy](https://awesomerea.org/resources/decomp-academy/index.md) · Learning resource
- [OWASP Firmware Security Testing Methodology (FSTM)](https://awesomerea.org/resources/owasp-fstm/index.md) · Learning resource
- [Emproof workshop: Firmware Reverse Engineering](https://awesomerea.org/resources/emproof-firmware-re-workshop/index.md) · Learning resource

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
