关于无法通过模拟器下载charles证书的一次记录


最近用charles尝试抓取模拟器的包,但是无奈的是,还没开始就卡在了安装证书的这一步.
苦苦搜寻了各种教程,其中尝试过"关闭防火墙",设置SSL Proxying Settings都无济于事,模拟器中打开chls.pro/ssl一动不动.
最后无意中搜到了Android7.0无法安装证书关键字,一番折腾后,终于解决.所以记录一下,方便以后查阅.

准备

本文的操作系统是win10
需要用到的软件:

1.雷神模拟器,官网下载即可.
2.charles
3.adb的工具包,直接解压即可使用.
下载地址

charles的设置

1.设置http代理.
Proxy-->Proxy settings

2.设置ssl
proxy-->ssl proxying settings

3.charles安装证书

弹出证书安装界面,点击"安装证书"
选择当前用户,
选择: 将所有的证书都放入下列存储:

直接下一步,最后确定提示"导入成功"

4.接着设置charles安装移动端证书:

此时charles会弹出需要给模拟器设置http代理的ip以及端口(记住它,待会要用到):

adb的使用

直接在解压的adb.exe所在目录打开cmd,win10是直接在文件管理器地址栏输入cmd回车即可.

这里提示一下,雷电模拟器用到的端口号是5555.
输入: adb devices,如果显示的是"127.0.0.1:5555 offline "

可以通过adb kill-serveradb start-server开关闭和重启adb,

还可以重启雷电模拟器直到 输入adb devices显示:

List of devices attached
emulator-5554 device

表明已经成功通过adb连接到模拟器了.

接下来就是关键的一步了,需要通过adb命令进行设置模拟器的http代理,需要用到上面记录下来的http代理地址和端口:192.168.3.8:8888
1.为了确认,可以先清除一下模拟器的http代理:
adb shell settings delete global http_proxy

2.设置模拟器的代理:
adb shell settings put global http_proxy 192.168.3.8:8888
设置成功无提示.

模拟器下载证书.

设置完毕之后,就可以进入模拟器中,通过系统自带的浏览器输入chls.pro/sll进行下载:

至此,全文完结.

关于adb命令的补充

1.adb devices显示attached后,通过以下命令来进入到模拟器的shell命令模式:
adb -s emulator-5554 shell
输入: exit 可以退出.

2.adb重新挂载到模拟器.
adb -s emulator-5554 remount

3.adb连接到模拟器
adb connect 127.0.0.1:5555

4.查看手机arch版本
adb shell getprop ro.product.cpu.abi

5.查看当前app运行的包名
adb shell dumpsys window | findstr mCurrentFocus

6.复制/data/misc/user/0/cacerts-added中以.0为结尾的文件到目录:/system/etc/security/cacerts下,就可以抓取https的包了:

adb push a0b1c2d3.0 /system/etc/security/cacerts/

参考链接:Charles安卓7.0及以上系统抓包方式


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM