学习资源
Android 应用逆向工程 101
Maddie Stone 编写的免费英文工作坊,以 GitHub Pages 发布,入门讲解 Android 应用的静态逆向工程。各章涵盖应用组件与入口点、Dalvik 字节码与 smali、用 jadx 反编译 DEX、在 Ghidra 中定位并阅读 JNI 原生库,以及字符串去混淆。七个附书面解答的练习将这些方法用于分诊恶意软件样本,以及找出预装应用中的命令执行缺陷。
使用条件与局限
- 审阅提交为 17f9eeb,即默认分支的最后一次提交(2020-04-29);大部分页面写于 2019 年,内容已不再扩充。导言说明工作坊只讲静态分析,不涉及应用开发、恶意软件分析或漏洞挖掘本身的细节;结语推荐将 Frida 与动态分析作为后续方向。
- 练习按作者提供的 Ubuntu 18.04 64 位虚拟机镜像设计,镜像通过 Google Drive 提供 VirtualBox 和 VMware 两种格式,预装 jadx 和 Ghidra。练习用的 APK(若干需判断是否为恶意软件的应用和两个厂商预装应用,多数练习给出其 SHA-256 摘要)只存在于该虚拟机中;仓库本身只包含 Markdown 页面和图片,没有任何 APK。
- 原生库一章默认读者具备一定的 ARM 汇编基础,并推荐了外部教程;文中说明每个练习用的原生库都另有 x86 版本。页面最后更新于 2020 年,其截图可能与当前版本的 jadx 和 Ghidra 不一致。
- 仓库没有许可证文件,因此正文的复用条款未作说明;页面注明 Android 机器人标志来自 Google,按 CC BY 3.0 使用。本合集阅读了所审阅提交中的页面,没有下载虚拟机或重做练习;工作坊未提及 AI 或 REA 的使用。
关于此条目
- 类型
- 学习资源
- 类别
- 学习资源
- 关联
- 学习资源
- 目标
- 应用 · 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- index.md GitHub · maddiestone/AndroidAppRE · 修订 17f9eeb
- https://github.com/maddiestone/AndroidAppRE/tree/17f9eeb5cb190d31cd90e9b9c7967978ea7a9d10
- reversing_dex.md GitHub · maddiestone/AndroidAppRE · 修订 17f9eeb
- reversing_native_libs.md GitHub · maddiestone/AndroidAppRE · 修订 17f9eeb
- obfuscation.md GitHub · maddiestone/AndroidAppRE · 修订 17f9eeb
- conclusion.md GitHub · maddiestone/AndroidAppRE · 修订 17f9eeb
- README.md GitHub · maddiestone/AndroidAppRE · 修订 17f9eeb
同分区更多条目:文档与学习资源
- iOS 应用逆向工程课程 · 学习资源
- tiny-dec 教学用反编译器 · 学习资源
- 逆向工程阅读清单(onethawt) · 学习资源
- Decomp Academy 一致性反编译课程 · 学习资源
- OWASP 固件安全测试方法论(FSTM) · 学习资源
- 安装与客户端配置 · 文档