android7.0以上, android的机制不再信任用户证书,导致https协议无法抓包。除非把证书装在系统信任的证书里,此时手机需要root权限。
建议
- 该操作在模拟器中进行,建议使用逍遥模拟器
- 对比了几款模拟器,只有逍遥模拟器支持安卓7以上的系统
- 使用安卓7以下的版本,可以直接抓到https的请求,但是有的App已经不支持在安卓7以下的系统上运行
安装逍遥模拟器,并启动
下载虚拟机apk包
-
github下载地址
-
百度云盘下载
链接:https://pan.baidu.com/s/1L0uEMAU478hWqsK5jBBgVQ
提取码:d5n0 -
直接下载
设置charles
- 安装charles
- 设置charles代理
- 将charles的证书安装到模拟器
- 菜单:Proxy-SSL Proxying Settings-SSL Proxying页签下的Enable SSL Proxying选项必须选中
安装
-
安装需要抓包的APP
-
将上一步下载的VirtualXposed和JustTrustMe 的APK拖进模拟器进行安装
-
安装完成后会在桌面生成VirtualXposed图标,如图
1
使用
-
打开VirtualXposed
-
会提示<关于后台运行>,直接选择同意
-
点击6个小点进入设置页面
image-20201125161227992 -
进入设置页面后,选择添加应用
image-20201125161607374 -
选择需要抓包的APP,进行安装
-
安装方式,选择VIRTUALXPOSED
image-20201125162117242 -
等待安装……
-
安装完成后打开APP,记得一定是在虚拟机内打开
-
这时在通过抓包工具就可以看到请求和响应信息了
- 如果不在VirtualXposed内打开,抓到的可能只有CONNECT这类的请求,或者是乱码
- 在VirtualXposed内打开,就可以抓到GET、POST之类的请求了,并且可以看到请求和响应的信息
-
已经安装过的APP,再次打开VirtualXposed,上滑就可以找到了
网友评论