安卓7.0后使用fiddler抓包

已经很久没有使用安卓手机进行使用fiddler抓包了,这两天手机安装证书,设置无线代理后发现抓不到,网上查了资料,发现有些零零散散,最终指向的是安卓7.0后谷歌提高了安全权限,需要把证书放入系统证书内才可以。

前面配置好fiddler https抓包的步骤我这里就不写了,网上太多了,这里只写设置好之后的操作。

 

1、首先下载openssl.exe 并安装

地址: https://slproweb.com/products/Win32OpenSSL.html

我是下载了200M的那个版本

2、配置环境变量,直接在path中新增一条后保存

  

 3、验证安装成功

 

4、fiddler证书保存到本地并转换格式

  直接在fillder中导出证书到桌面

  转换格式 cer转换成pem

  打开cmd 运行命令(自己替换自己对应的目录)

  

openssl x509 -in C:\Users\Administrator\Desktop\FiddlerRoot.cer -inform DER -out C:\Users\Administrator\Desktop\FiddlerRoot.pem -outform PEM

(懒得自己弄了,贴别人的图)

  继续运行命令 查看pem文件的哈希值(自己替换自己对应的目录)

openssl x509 -subject_hash_old -in C:\Users\Administrator\Desktop\FiddlerRoot.pem  

 

然后把 .pem 文件名称改为 269953fb.0

5、最后把证书push到模拟器的系统目录里边

先用adb链接上真机或模拟器 然后push

push的是系统目录 所以要有root权限

adb push C:\Users\Administrator\Desktop\269953fb.0 /system/etc/security/cacerts

=========================================================
雷电模拟器可能会push失败 显示 Read-only file system 类似这种错误
网上搜索解决办法 都是 adb root adb disable 之类的 但是不能解决问题 雷电模拟器获取系统目录的权限是再设置里边
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

按照网上找到的方法,手机需要root,我这里不想root,就使用了模拟器来实验。

1、先对模拟器进行root

2、设置获取系统目录写写入权限

 

 进行推送,>adb push C:\Users\18018\Desktop\269953fb.0  /system/etc/security/cacerts

如果报错,参考下面

adb操作提示Read-only file system问题

使用场景是:在替换手机的内置文件的时候,提示这个,按照以往的经验,
手机开发者模式打开,usb调试打开,或者重复的插拔几下数据线
执行
adb root
adb remount
‘adb remount’ 将 ‘/system’ 部分置于可写入的模式,默认情况下 ‘/system’ 部分是只读模式的。这个命令只适用于已被 root 的设备。

在将文件 push 到 ‘/system’ 文件夹之前,必须先输入命令 ‘adb remount’。

‘adb remount’ 的作用相当于 ‘adb shell mount -o rw,remount,rw /system’

 

这次试了好多次,都不ok,最后找到了一种方案:

adb root //获取root权限
adb disable-verity //关闭分区检测功能
adb reboot //执行adb disable-verity后需要重启设备
adb root //设备重启后再次获取root权限
adb remount //使system分区为可读可写模式


这次如上操作再push文件的时候就成功push了,重点是加了这一句
adb disable-verity:关闭在调试环境下的dm-verity检查

adb命令权限的番外篇:
chmod 777
例sudo chmod 777 filename

read 4 00000100 read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。

write 2 00000010 write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。

x 1 00000001 execute,执行。当前用户可以执行文件,当前用户可以进入目录。

7 = 4 + 2 + 1 读写运行权限

5 = 4 + 1 读和运行权限

4 = 4 只读权限

因此,大家也就明白了 chmod 754 filename 命令的含义了。

这句命令的意思是将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户
————————————————

参考文章1:安卓模拟器(系统版本大于7.0)安装【Fiddler||Charles】证书到系统根目录_雷电模拟器安装fd证书到系统-CSDN博客

参考文章2:adb操作提示Read-only file system问题-CSDN博客


————————————————

 

posted @ 2024-02-27 11:46  琉璃星眸  阅读(151)  评论(0编辑  收藏  举报