来源:小编 更新:2025-02-17 03:52:17
用手机看
你有没有遇到过这种情况:手机里下载了各种APP,想抓个包看看里面的秘密,结果发现,哎呀妈呀,HTTPS的数据抓不到,全是“未知”的提示。别急,别急,今天就来教你一招,让你的安卓手机轻松导入系统证书,从此HTTPS抓包不再是梦!
你知道吗?从安卓7.0开始,谷歌爸爸给手机设置了个小脾气,它不再信任用户自己安装的证书了。这就意味着,如果你想在抓包时解码HTTPS请求,就必须把证书升级为系统证书。别担心,这可不是什么高难度的操作,跟着我,咱们一步步来!
1. 手机:一台已经root的安卓手机,最好是安卓7.0以上的版本,这样才需要导入系统证书。
2. 电脑:一台可以连接手机的电脑,用于下载证书和进行操作。
3. 证书:你需要抓包的APP所使用的证书,比如Fiddler或Mitmproxy的证书。
1. 下载证书:如果你还没有证书,可以在Fiddler的“Help”菜单中找到“SSL Proxying”,然后点击“Save Charles Root Certificate...”下载证书。
2. 格式转换:下载的证书可能是.cer或.pem格式,我们需要将其转换为PEM格式。在电脑上安装OpenSSL,然后使用以下命令进行转换:
```
openssl x509 -inform DER -outform PEM -in 证书文件.cer -out 证书文件.pem
```
3. 计算哈希值:使用OpenSSL计算证书的哈希值,格式如下:
```
openssl x509 -inform PEM -subjecthashold -in 证书文件.pem
```
记录下输出的哈希值,后面要用到。
1. 命名证书:根据计算出的哈希值,为证书命名。格式如下:
```
<哈希值>.0
```
如果哈希值已经存在,需要在后面加上编号,比如:
```
<哈希值>1.0
```
2. 生成证书文件:使用OpenSSL生成证书文件,格式如下:
```
openssl x509 -inform PEM -text -in 证书文件.pem > <哈希值>.0
```
3. 传输证书:使用ADB命令将证书文件传输到手机上,格式如下:
```
adb push <哈希值>.0 /system/etc/security/cacerts/
```
1. 修改权限:使用ADB命令修改证书文件的权限,格式如下:
```
adb shell chmod 644 /system/etc/security/cacerts/<哈希值>.0
```
现在,你的安卓手机已经成功导入了系统证书,HTTPS抓包不再是梦!你可以尽情地抓取数据,探索APP的奥秘了。不过,别忘了,这只是一个简单的教程,实际操作中可能会遇到各种问题,需要你耐心解决哦!