大家好,又见面了,我是你们的朋友全栈君。
1.进入Charles官网下载。
2.安装Charles后,进行注册。
help—> register—>input—>ok!
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
3.运行Charles,并进行配置。
手机设置代理后,浏览器访问:chls.pro/ssl 会下载证书,然后进入手机设置-安全设置-导入证书即可。
小米手机需要第三方浏览器打开链接进行下载,否则下载的.crt后缀的证书导入会报错。
4.抓包发现部分https抓包会失败,显示unknown,是因为Android7.0以后不允许导入系统证书,所以用户证书不被信任,为了解决此问题,需要手机root后操作。
目前手里有华为和小米两款手机,华为不能root,小米已经root过,所以这里用小米做测试。
adb root
# 输出信息如下
adbd cannot run as root in production builds
手机下载超级adb应用后,运行闪退,报错依旧,后来看了一些文章,发现是因为Magisk引起的,所以进入Magisk设置–>关闭Magisk Hide功能后重启手机,再次运行命令,手机会提示超级用户授权,点击同意即可。
5.导入系统证书。
连接root后的做如下手机操作。
# 以root权限执行
adb root
# 解决目录read only关键命令行
adb disable-verity
# 重启
adb reboot
# 以root权限执行
adb root
# 重新挂载
adb remount
# 设置读写
adb shell mount -o rw,remount /system
导入Charles证书。
# 计算证书Hash
chaos-MacBook-Air:Downloads chao$ openssl x509 -subject_hash_old -in charles-ssl-proxying-certificate.pem
40d7e030
-----BEGIN CERTIFICATE-----
MIIFVjCCBD6gAwIBAgIGAXN0gzEOMA0GCSqGSIb3DQEBCwUAMIGvMUAwPgYDVQQD
DDdDaGFybGVzIFByb3h5IENBICgyMiBKdWwgMjAyMCwgY2hhb3MtTWFjQm9vay1B
aXIubG9jYWwpMSUwIwYDVQQLDBxodHRwczovL2NoYXJsZXNwcm94eS5jb20vc3Ns
MREwDwYDVQQKDAhYSzcyIEx0ZDERMA8GA1UEBwwIQXVja2xhbmQxETAPBgNVBAgM
CEF1Y2tsYW5kMQswCQYDVQQGEwJOWjAeFw0wMDAxMDEwMDAwMDBaFw00OTA5MTgw
MzEzNDFaMIGvMUAwPgYDVQQDDDdDaGFybGVzIFByb3h5IENBICgyMiBKdWwgMjAy
MCwgY2hhb3MtTWFjQm9vay1BaXIubG9jYWwpMSUwIwYDVQQLDBxodHRwczovL2No
YXJsZXNwcm94eS5jb20vc3NsMREwDwYDVQQKDAhYSzcyIEx0ZDERMA8GA1UEBwwI
QXVja2xhbmQxETAPBgNVBAgMCEF1Y2tsYW5kMQswCQYDVQQGEwJOWjCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAISZbUtS2dArL2JIZPPMH3Gu4tjGB5rC
W2zuYayC7KOPJx0WtJ0VrJA6hbwjPbc52BrJn7o98OH8PfNPbbb6W4B+DNjpWnpG
tj9TNpJwriiId26XGD6+AKoilOXhSli40E2DHPtFfpFnn2RSws/KYGV4v7G2DnmJ
MqiHqDgJrtKzV48eLdQ8mvmqnHzLIW3K/c4qh8Wi/7F0084FH5+8zWJkSAR9HTJ/
SGA4FdGX7r2rkp833EPLkq/Lv7Rtn4SqTeKrmYv3liEoYhmt9gead1ILCNwGo+hR
C8zgLVVObudr9tzzV4xPsIZO4KQC30HcYy5BnN/30UK042z1TE3bKIECAwEAAaOC
AXQwggFwMA8GA1UdEwEB/wQFMAMBAf8wggEsBglghkgBhvhCAQ0EggEdE4IBGVRo
aXMgUm9vdCBjZXJ0aWZpY2F0ZSB3YXMgZ2VuZXJhdGVkIGJ5IENoYXJsZXMgUHJv
eHkgZm9yIFNTTCBQcm94eWluZy4gSWYgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBwYXJ0
IG9mIGEgY2VydGlmaWNhdGUgY2hhaW4sIHRoaXMgbWVhbnMgdGhhdCB5b3UncmUg
YnJvd3NpbmcgdGhyb3VnaCBDaGFybGVzIFByb3h5IHdpdGggU1NMIFByb3h5aW5n
IGVuYWJsZWQgZm9yIHRoaXMgd2Vic2l0ZS4gUGxlYXNlIHNlZSBodHRwOi8vY2hh
cmxlc3Byb3h5LmNvbS9zc2wgZm9yIG1vcmUgaW5mb3JtYXRpb24uMA4GA1UdDwEB
/wQEAwICBDAdBgNVHQ4EFgQUEcZalndwT27NBqs/yZiI8G8pmZ0wDQYJKoZIhvcN
AQELBQADggEBAEE0RkbcI0fXkxKRWOAP/AhtlBRZLH185vKYlNN9cbmvHQRPwWHD
nGWU++bdhL4fEMYHBlg9nNwo4fddUcz+LXOunCBVmK92mxPi8hMr8p675nvdUO3Z
hK0oxz5yHqOWCeM0i425q+Ah0LV73OCiLkG+Wx5xQwiaIjwCFahb7xJtrHe3fWti
qkQ7O6pjTkEoe4reUVM1PlhMW/Bvxekp8SuFtY61e7tD6gNh7IvgKmA1CYa4aa2D
U5tIqr1mr/B3NeH03PQ/eGeZXNhvpHjIfwaZqccq22O+I7l16bK23ES0382Nv7dY
cYR0r8YHvENbJF7X50q0D/bDOY1S/YPoku8=
-----END CERTIFICATE-----
# 重命名证书
chaos-MacBook-Air:Downloads chao$ mv charles-ssl-proxying-certificate.pem 40d7e030.0
# 将证书push到系统证书目录
chaos-MacBook-Air:Downloads chao$ adb push 40d7e030.0 /system/etc/security/cacerts
40d7e030.0: 1 file pushed, 0 skipped. 0.0 MB/s (1931 bytes in 0.057s)
# 移除系统证书,别执行!!!
chaos-MacBook-Air:Downloads chao$ adb shell rm /system/etc/security/cacerts/40d7e030.0
上述操作完成后,进入手机设置->更多设置->系统安全->加密与凭据->信任的凭据 找到导入的证书并开启。
6.抓包。
数据格式是ProtoBuf,可以看到数据中有很多\347\234\213\346\235\245的字符串,其实是8进制中文,为了方便查看,用go写了个工具,看看效果吧。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135276.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...