安卓版本v7.0以上charles抓包(APP内嵌h5)

前提你的安卓手机已经给你root了

1.安装ADB & openssl

制作证书,hash后,把4c62d62f复制出来替换原来的charles.pem,且修改证书名称4c62d62f.0

安卓版本v7.0以上charles抓包(APP内嵌h5)

安卓版本v7.0以上charles抓包(APP内嵌h5)安卓版本v7.0以上charles抓包(APP内嵌h5)

 

2.生成hash与手机的hash文件是否一致,如有相同文件需要修改为4c62d62f.1写入手机授权

下图没有一样的文件名,把4c62d62f.0直接扔进去!!!之前扔过了忽略!!!

查询手机证书文件:连接手机,adb shell,后面均以Linux命令为主

命令:adb shell

命令:cd system/etc/security/cacerts/

命令:ls

 

安卓版本v7.0以上charles抓包(APP内嵌h5)

3.把证书传到手机证书目录下(证书一定要在系统下面才可能捉包

证书传到SD上

adb push <hash>.0 /sdcard/Download

然后复制到/system/etc/security/cacerts/目录下

adb shell

su

cp /sdcard/Download/<hash>.0 /system/etc/security/cacerts/

然后修改权限

chmod 644 /system/etc/security/cacerts/<hash>.0

如果出现//<hash>.0:Read-only file system这个警告,这是因为system文件为只读,需要将其挂载为可读写。

一般的解决方法是

mount -o rw,remount /system

修改system读写权限,然后再进行复制操作

 

如果修改了之后还是提示Read-only file system,还有方法

adb root

adb disable-verity

adb reboot #手机会重启,不用关闭cmd窗口,手机可能需要拔掉数据写重新连接

adb root

adb shell 

mount -o rw,remount /system    #再次进行修改

 

然后就可以进行复制操作了。(我是遇到了这种情况,这个方法可行)

复制完之后输入reboot重启