2021年如何对安卓app抓包教程
前言
对 Android app 抓包,主要解决 APP 验证 https 整书问题。
可能用到的抓包工具
非 root 环境
方案 1:把需要抓包的 app 装到一个虚拟环境。
工具
说明:在 VirtualXposed 安装目标 app 和 JustTrustMe 后,与电脑在同一 wifi,并按照 Charles 配置代理即可,无需在手机上安装证书。 缺点:大部分 app 在太极中无法运行,但可以在 VirtualXposed 中运行,少部分 app 在 vx 中无法运行。
方案2:逆向 app,去掉 https 验证
这里用到一款工具apk-mitm ,它会自动做以下事情:
- 解码 APK 文件
- 替换应用的网络安全配置
- 允许用户添加证书
- 禁用各种证书固定实现
- 使用Apktool对修补的 APK 文件进行编码
- 使用uber-apk-signer对修补的 APK 文件进行签名
使用方法:
sudo npm install -g apk-mitm
npx apk-mitm xiakele.apk
# 会生成 ./xiakele-patched.apk
缺点:可能出现无法运行、闪退。
root 环境
root 手机应该是终极解决方案,一切无法抓包的问题都迎刃而解。参考教程2022年安卓手机root教程(小米8)
打开 Charles 保存 pem 格式的证书到电脑
使用命令把 pem 证书重命名为 md5.0 的格式
mv charles-ssl-proxying-certificate.pem $(openssl x509 -inform PEM -subject_hash_old -in ***.pem | head -1).0
# 把证书推到安卓的系统内
adb push 7d8cc3c7.0 /system/etc/security/cacerts
# 提示失败,/system 为 Read-only file system
用 mt 管理器复制,会自动把
/system/etc/security/cacerts
参考链接