学习资源

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 的使用。

关于此条目

类型
学习资源
类别
学习资源
关联
学习资源
目标
应用 · 二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

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

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

文档与学习资源分区全部 43 项资源