# AndroidReverse101（Android 逆向 100 天教程）

> Evil0ctal 编写的中文 Android 逆向课程，计划分 100 天、每天一课。课程从进制、ARM 汇编、Dalvik/ART 运行时和 APK 加载机制讲起，继而介绍 APK 与 DEX 结构、Smali 修改与重新打包、Frida 和 Xposed Hook、JNI 与 Native 库分析、抓包分析、代码混淆及应用加固，并结合 jadx、apktool、readelf、GDB/LLDB、Frida、Burp Suite 等工具给出命令和代码。Crackmes 目录收录 OWASP UnCrackable 与 r2pay 练习应用的副本，另有社区贡献的印度尼西亚语译本与已发布课程对应。

- 类型：学习资源
- 目标：应用
- 类别：学习资源
- 关联：学习资源
- 来源复核于：2026-10-20
- 收录于：2026-11-02
- 原始资源：<https://github.com/Evil0ctal/AndroidReverse101>
- 一手来源：<https://github.com/Evil0ctal/AndroidReverse101/blob/9b72d20439155893ab2ce1b8af56af41c17d0411/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/androidreverse101/>
- 记录 JSON：<https://awesomerea.org/resources/androidreverse101/record.json>
- 英文版：[English](https://awesomerea.org/resources/androidreverse101/index.md)

## 使用条件与局限

- 审阅提交为 9b72d20（2025-12-31），即合并社区印度尼西亚语译本的提交；中文课程和 Crackme 题目提交于 2025 年 2 月 22 日至 25 日，项目没有发布版本。README 规划了分三个阶段的 100 天课程，但仓库中只有 44 节课（第 1–41 天及第 60、70、100 天）；印度尼西亚语译本覆盖同样的 44 节，其中不少篇幅有所压缩。
- 入门无需额外的目标文件：第 20 天课程提供 Crackme 源码供学习者自行编译，Crackmes 目录提交了五个练习 APK，即 UnCrackable-Level1.apk、UnCrackable-Level2.apk、UnCrackable-Level3.apk、r2pay-v0.9.apk 和 r2pay-v1.0.apk，其 Git blob 与 OWASP MASTG 仓库中的 Crackme 完全相同。只有 Level 1 附有解题记录；README 中 Crackme 2 的链接指向的文件并不在仓库中。
- 课程默认使用装有 adb 的桌面主机和一台 Android 设备，提到的工具包括 jadx、apktool、baksmali、readelf、GDB/LLDB、IDA Pro、Ghidra、需在设备上运行 frida-server 的 Frida、Burp Suite 和 Wireshark；Xposed 一课要求设备先用 Magisk 获取 Root。
- 第二阶段的许多课程以及第 70、100 天的练习都以修改第三方应用为主线，包括绕过授权、付费功能、Root 检测、证书固定和反调试等检查。README 和课程均未就合法使用或授权作出任何说明。
- 仓库采用 MIT 许可证（版权归 Evil0ctal，2025 年）；Crackme 题目来自采用 CC BY-SA 4.0 的 OWASP MASTG 仓库，课程提到的工具适用各自的条款。课程把 AI 作为逆向对象之一提及。

## 一手来源

1. <https://github.com/Evil0ctal/AndroidReverse101/blob/9b72d20439155893ab2ce1b8af56af41c17d0411/README.md>
2. <https://github.com/Evil0ctal/AndroidReverse101/tree/9b72d20439155893ab2ce1b8af56af41c17d0411>
3. <https://github.com/Evil0ctal/AndroidReverse101/blob/9b72d20439155893ab2ce1b8af56af41c17d0411/AndroidReverse101/%E7%AC%AC%E4%B8%80%E9%98%B6%E6%AE%B5_%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E7%A1%80_%E9%80%86%E5%90%91%E6%A6%82%E8%AE%BA/Day_20_CTF_%E9%80%86%E5%90%91%E6%8C%91%E6%88%98_%E5%88%9D%E7%BA%A7.md>
4. <https://github.com/Evil0ctal/AndroidReverse101/blob/9b72d20439155893ab2ce1b8af56af41c17d0411/AndroidReverse101/%E7%AC%AC%E4%BA%8C%E9%98%B6%E6%AE%B5_APK%E9%80%86%E5%90%91%E5%9F%BA%E7%A1%80/Day_31_Xposed_%E5%85%A5%E9%97%A8.md>
5. <https://github.com/Evil0ctal/AndroidReverse101/blob/9b72d20439155893ab2ce1b8af56af41c17d0411/Crackmes/Android/Level_01/README.md>
6. <https://github.com/Evil0ctal/AndroidReverse101/tree/9b72d20439155893ab2ce1b8af56af41c17d0411/AndroidReverse101_Indonesian>
7. <https://github.com/Evil0ctal/AndroidReverse101/blob/9b72d20439155893ab2ce1b8af56af41c17d0411/LICENSE>
8. <https://github.com/OWASP/mastg/tree/02ffd85fb74383ec2a30b42866d38f89d72c0ead/Crackmes/Android>

## 同分区更多条目：文档与学习资源

- [Ghidra Snippets Ghidra 脚本示例集](https://awesomerea.org/zh/resources/ghidra-snippets/index.md) · 学习资源
- [Frida Boot：二进制插桩入门工作坊](https://awesomerea.org/zh/resources/frida-boot-workshop/index.md) · 学习资源
- [Embedded Hacking 嵌入式逆向课程（mytechnotalent）](https://awesomerea.org/zh/resources/mytechnotalent-embedded-hacking/index.md) · 学习资源
- [逆向分析蓝牙雷达测速预警器协议](https://awesomerea.org/zh/resources/cobra-irad-bluetooth-protocol-walkthrough/index.md) · 学习资源
- [Link Pi ENCx 编码器非官方逆向文档](https://awesomerea.org/zh/resources/linkpi-encx-unofficial-docs/index.md) · 学习资源
- [ReverseJS AST 反混淆配套资料](https://awesomerea.org/zh/resources/reversejs-ast-deobfuscation-materials/index.md) · 学习资源

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
