android 逆向工程 Cookbook
目录
android 逆向工程 Cookbook
欢迎来到 Android RE Cookbook —— 一本实战导向的 Android 逆向工程实用手册。
本 Cookbook 采用场景驱动的组织方式,帮助你快速找到解决特定问题的方法,而非传统的知识点罗列。
🚀 新手?从这里开始
完全新手? 先完成 10 分钟快速入门,体验第一次 Hook!
👉 10 分钟快速入门 - 安装 Frida 并完成第一次 Hook
环境还没配置好? 👉 环境配置指南 - 从零搭建逆向分析环境
📖 如何使用本 Cookbook
🎯 按需查找
- 遇到问题? 直接查看 Recipes 章节,找到对应场景的解决方案
- 学习工具? 查看 Tools 章节,了解各类工具的使用方法
- 参考案例? 浏览 Case Studies,学习实战分析流程
- 查阅资料? 访问 Reference,深入理解底层原理
📚 学习路径
- 新手入门: Reference → Tools → Recipes
- 实战为主: Recipes → Tools → Case Studies
- 进阶提升: Case Studies → Reference/Advanced
🎯 Recipes
按场景分类的实战菜谱,提供可直接使用的解决方案。
🌐 Network - 网络与加密
解决网络抓包、加密分析、TLS指纹等问题。
- Network Sniffing - 网络协议分析与抓包
- Crypto Analysis - 密码学分析
- TLS Fingerprinting - TLS指纹识别
- JA3 Fingerprinting - JA3指纹分析
- JA4 Fingerprinting - JA4指纹分析
🛡️ Anti-Detection - 反检测与对抗
绕过各类检测机制,包括反调试、反Hook、验证码等。
- Frida Anti Debugging - Frida反调试绕过
- Xposed Anti Debugging - Xposed反调试绕过
- Captcha Bypassing - 验证码绕过
- App Hardening Identification - 加固识别
- Device Fingerprinting & Bypass - 设备指纹绕过
- Mobile App Security & Anti Bot - 移动端安全与反机器人
📦 Unpacking - 脱壳与修复
处理加壳应用的脱壳和修复工作。
- Unpacking - 应用脱壳技术
- Frida Unpacking & SO Fixing - Frida脱壳与SO修复
- SO Obfuscation Deobfuscation - SO混淆与反混淆
- SO String Deobfuscation - SO字符串反混淆
🔬 Analysis - 分析与调试
静态分析、动态分析和代码混淆分析。
- RE Workflow - 逆向工程工作流
- Static Analysis Deep Dive - 静态分析深入
- Dynamic Analysis Deep Dive - 动态分析深入
- eBPF Android Reversing - eBPF Android逆向实战
- OLLVM Deobfuscation - OLLVM反混淆
- VMP Analysis - VMP分析
- JS Obfuscator - JS混淆分析
- JS VMP - JS虚拟机保护
- Native String Obfuscation - Native字符串混淆
🤖 Automation - 自动化与规模化
构建自动化分析系统和规模化解决方案。
- Automation & Device Farming - 自动化与群控
- Dial Up Proxy Pools - 动态代理池
- Proxy Pool Design - 代理池设计
- Scrapy - Scrapy爬虫框架
- Scrapy Redis Distributed - 分布式Scrapy
- Docker Deployment - Docker部署
- Virtualization & Containers - 虚拟化与容器
- Web Anti Scraping - Web反爬虫
📝 Scripts - 即用脚本
可直接使用的脚本集合。
- Frida Script Examples - Frida脚本示例
- Frida Common Scripts - Frida常用脚本
- eBPF Scripts - eBPF脚本集
- Automation Scripts - 自动化脚本
- Native Hooking - Native Hook模式
- Objection Snippets - Objection代码片段
- C For Emulation - C语言仿真
🔨 Tools
工具使用指南和原理剖析。
⚡ Dynamic - 动态分析工具
- Frida Guide - Frida使用指南
- Frida Internals - Frida内部原理
- Xposed Guide - Xposed使用指南
- Xposed Internals - Xposed内部原理
- KernelSU Guide - KernelSU使用指南
- KernelSU Internals - KernelSU内部原理
- Unidbg Guide - Unidbg使用指南
- Unidbg Internals - Unidbg内部原理
- eBPF Guide - eBPF使用指南
- eBPF Internals - eBPF内部原理
🔍 Static - 静态分析工具
- Ghidra Guide - Ghidra使用指南
- IDA Pro Guide - IDA Pro使用指南
- Radare2 Guide - Radare2使用指南
📋 Cheatsheets - 速查表
- ADB Cheatsheet - ADB命令速查
📚 Case Studies
真实场景的案例分析,综合运用各类技术。
- Anti Analysis Techniques - 反分析技术案例
- Music Apps - 音乐App分析
- Social Media & Anti Bot - 社交媒体与风控
- App Encryption - 应用加密案例
- Video Apps & DRM - 视频App与DRM
- Unity Games (Il2Cpp) - Unity游戏分析
- Flutter Apps - Flutter应用分析
- Malware Analysis - 恶意软件分析
📖 Reference
参考资料和理论知识,需要时查阅。
📱 Foundations - 基础知识
Android应用和系统的核心基础。
- APK Structure - APK结构
- Android Components - 安卓四大组件
- Android Manifest - AndroidManifest.xml
- Android Studio Debug Tools - Android Studio调试工具
- DEX Format - DEX文件格式
- Smali Syntax - Smali语法
- SO ELF Format - SO文件(ELF)格式
- ART Runtime - ART运行时
- Boot Image & GKI - 启动镜像与GKI
- ARM Assembly - ARM汇编
- x86 & ARM Assembly Basics - x86与ARM汇编基础
- TOTP - 时间动态密码原理
🚀 Advanced - 高级主题
深入的系统级和高级技术。
- Android Sandbox Implementation - Android沙箱实现
- AOSP & System Customization - AOSP与系统定制
- AOSP Device Modification - AOSP设备修改
- Minimal Android Rootfs - 最小化Android根文件系统
- SO Anti Debugging & Obfuscation - SO反调试与混淆
- SO Runtime Emulation - SO运行时仿真
🔩 Engineering - 工程化
规模化和工程化相关技术。
- Frameworks & Middleware - 框架与中间件
- Message Queues - 消息队列
- Redis - Redis数据库
- Risk Control SDK Build Guide - 风控SDK构建
- Automation vs API Reverse - 群控与API逆向对比
📊 Data Analysis - 数据分析
- Data Warehousing & Processing - 数据仓库与处理
- Flink - Flink流处理
- HBase - HBase分布式数据库
- Hive - Hive数据仓库
- Spark - Spark大数据处理
📎 Appendix
附录资源和社区资源。
- Github Projects - 开源项目推荐
- Learning Resources - 学习资源
- CTF Platforms - CTF平台
- Glossary - 术语表
🎯 快速导航
我想…
- 抓包分析 HTTPS 流量 → Network Sniffing
- 绕过应用的反调试检测 → Frida Anti Debugging
- 脱壳加固应用 → Unpacking
- 分析加密算法 → Crypto Analysis
- 学习 Frida 使用 → Frida Guide
- 学习 KernelSU Root → KernelSU Guide
- 学习 eBPF 隐蔽追踪 → eBPF Guide
- 查看 Frida 脚本示例 → Frida Script Examples
- 查看 eBPF 脚本示例 → eBPF Scripts
- 了解 APK 文件结构 → APK Structure
- 看实战案例 → Case Studies
📝 贡献
本 Cookbook 持续更新中。如有建议或发现错误,欢迎反馈!
Happy Hacking! 🚀