charles抓取腾达安防Android包&调试
1、背景
app测试问题定位、异常接口返回逻辑处理少不了charles抓包分析构造,但是charles无法抓取部分Android app包,手机设置charles代理并安装证书后,app会联网异常,核心原因是Android 7以后证书信任需要系统级别,手机需要root
2、解决方案
模拟器可以设置root权限,可以使用模拟器配置代理抓取明文包,MuMu模拟器抓包配置如下
一、前期准备
- MuMu模拟器配置
- 确保模拟器版本为MuMu 12或更高,需在「设置中心」开启「ROOT权限」和「可写系统盘」功能
- 重启模拟器使配置生效。
- Charles配置
- 安装Charles后,进入菜单栏 Proxy → SSL Proxying Settings,添加规则:Host为*,Port为*或443,启用SSL代理
- 导出Charles证书:通过 Help → Save Charles Certificate 将证书保存为.pem格式(默认路径为Charles.pem )
二、证书处理与安装
- 证书重命名
- 使用OpenSSL生成证书哈希名:在证书目录下windows 命令行执行命令:
openssl x509 -subject_hash_old -in Charles.pem
输出第一行(如d0c556f7)即为哈希值,将证书重命名为d0c556f7.0。推送证书到模拟器系统目录
连接MuMu模拟器ADB(默认端口7555):
adb connect 127.0.0.1:7555
- adb root # 需在模拟器中确认ROOT权限 推送证书至系统目录(若报错没有权限,可输入adb root和adb remout命令开启当前模拟机权限):
adb push d0c556f7.0 /system/etc/security/cacerts/
adb shell chmod 664 /system/etc/security/cacerts/d0c556f7.0 # 修改文件权限
#补充:如果无法push 文件到目录,使用Amaze工具,将证书放入共享目录后,复制证书到/system/etc/security/cacerts/ 目录下,右键属性可更改权限Amaze 目录使用参考
MuMu模拟器12如何将电脑的文件/图片导入到模拟器根目录?可以参考MuMu模拟器12如何将电脑的文件/图片导入到模拟器根目录 - 悟透 - 博客园

三、代理与网络配置
- 模拟器代理设置
- 进入模拟器 设置 → 网络与互联网 → WiFi,编辑当前网络,选择「手动代理」:
- 主机名:填写Charles所在电脑的IP(通过Charles菜单 Help → Local IP Address 获取)。
- 端口:8888(默认值。
- IP映射(可选)
- 若抓包时遇到10.0.2.2相关错误,需在Charles中通过 Tools → Rewrite 将10.0.2.2映射为127.0.0.1。
备注:charle安装证书不再细说,可以搜索网上有很多教程
4983

被折叠的 条评论
为什么被折叠?



