Android应用逆向与抓包实用教程
设备选择:真机 vs 模拟器
抓包
HTTP 抓包
- 工具:Fiddler、Charles、Burp Suite
- 步骤:
- 设置代理(手机或模拟器WiFi代理指向PC)
- 工具监听端口(如8888)
- 手机浏览器访问网页,确认能抓到包
HTTPS 抓包
- 证书安装:
- 抓包工具导出CA证书,拷贝到手机/模拟器,安装为受信任证书
- Android 7.0+需将证书放入
/system/etc/security/cacerts/
并改名为xx.0
,chmod 644
- 遇到SSL Pinning:
- Xposed模块:JustTrustMe、SSLUnpinning
- Frida脚本:
frida -U -f 包名 -l unpinning.js
APK反编译
工具
步骤
jadx-gui xxx.apk
查看java源码apktool d xxx.apk
解包资源和smali- 资源分析:AndroidManifest.xml、assets、res目录
JDK与JRE
- JRE:Java运行环境,只能运行java程序
- JDK:开发工具包,包含JRE和编译/调试工具。逆向推荐装JDK,方便用javac/jar/jarsigner等
逆向流程
- 搜索关键字
- 目标功能相关字符串、API、包名、类名
- jadx支持全文搜索
- 分析代码
- 跟踪调用链,理清逻辑
- 结合smali和java代码互相印证
- 验证猜想
- 修改smali/java,重新打包签名,运行验证
- 也可用Frida/Xposed动态插桩
- Python实现自动化
- 用requests/mitmproxy等库复现协议
- 结合adb、uiautomator2做自动化操作
实用Tips
- 遇到加固:先脱壳(如使用Replugin、360加固脱壳机、Xposed辅助)
- 反调试:查找
android.os.Debug.isDebuggerConnected
等API - 动态分析:Frida、Xposed、ReFramework
- 静态分析:jadx、apktool、grep、IDEA
参考资料
如果文章对你有帮助,欢迎点击上方按钮打赏作者,更多功能请访问博客站
Android应用逆向与抓包实用教程
https://blog.fxcxy.com/2025/05/27/AndroidAPP逆向教程/