nasdaqhe's blog

被生活强jian着
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Android https 抓包

Posted on 2021-09-11 11:07  nasdaqhe  阅读(958)  评论(0编辑  收藏  举报

背景
安卓新版(android 7.0 以上)应用里面,https 的抓包,需要突破 ssl 限制。
要突破 ssl 限制又需要 hook ,hook 常用 xposed , xposed 插件有 justtrustme 。(在 低版本 android 7.0 以下的安卓系统上 抓 https 包的话,就不用往下看啦 )
要装 xposed , 需要 root (费事费手机)或者 用安卓模拟器(部分应用不支持模拟器架构) 或者用类似 visualxposed 的环境(很多应用不能启动)。
发现有一个在安卓系统之上的 虚拟安卓系统 VMOS 。非常的简单好用,可以避免以上麻烦,可以一劳永逸。

vmos 安装
访问 http://www.vmos.cn/

xposed 安装
启动 vmos , 桌面查找 “必备应用” ,选择 xposed install , 即可完成安装

justtrustme 安装
桌面查找 “必备应用” ,选择 xposed install - 下载 - 搜索 justtrustme ,安装之。
装完之后需要重启 vmos 。在主界面点击浮动按钮,关闭 vmos。
然后再打开 vmos 程序。

charles 安装
百度自己操作系统的安装 charles 方式。
启动 charles ,必须设置代理 支持 ssl 。 具体看网络教程。

adb 连接到 vmos

找到 vmos 主屏右下角的设置 — 其他设置 — 网络 adb (记录 ip+端口)

在和手机同个局域网下,电脑上使用命令 adb connect ip+端口

adb connect 192.168.1.101:5666


连接成功之后,输入 adb device ,查看是否有检测到设备。
charles 证书安装到 vmos
设置手机的http代理。 在 vmos 打开并 adb 已连接的状态下,电脑终端输入

adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings


在手机上的 vmos 可以看到 wifi 选项,长按 wifi ,修改网络,高级设置,然后把电脑的 ip 和代理端口输入进去 (在 charles 设置里面查看 代理端口,一般默认是 8888 )
点 charles 的帮助
然后在 vmos 的浏览器里面 (就是 vmos 主界面底部菜单正中央的应用),输入 http://charlesproxy/getssl
访问时就会开始下载。如果下载并安装成功,那就跳过后面的第5步描述。我这里会提示下载失败,但是在 charles 里面该请求的截包已截到,在该请求的 response 里面可以看到证书内容。
把 charles 抓包看到的证书 response 内容复制下来,编辑成电脑上的本地文件保存文件名为 a.crv ,并用本地的 http 服务,得到本地下载路径。再到 vmos 的浏览器里面,访问该本地路径。这个时候就可以下载成功啦。
按照安装提示完成安装。
不出意外,现在就可以截到 https 包啦。
————————————————
版权声明:本文为CSDN博主「天占」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qhexin/article/details/106867226