news 2026/8/22 14:21:19

不配证书,3步抓通安卓App全部流量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
不配证书,3步抓通安卓App全部流量

不配证书,3步抓通安卓App全部流量

【免费下载链接】r0capture安卓应用层抓包通杀脚本项目地址: https://gitcode.com/gh_mirrors/r0/r0capture

装完App想看看它到底发了什么请求,结果证书校验全挡住了?r0capture是一款基于Frida的安卓应用层抓包脚本,直接Hook SSL读写函数,兼容安卓7到16,通杀Http、WebSocket、Protobuf等协议及其SSL版本,Okhttp3/Retrofit/Volley这些框架也都能抓到。

先搞清楚两件事

  • 安卓7-16真机可用,模拟器架构复杂,建议别用
  • WebView、小程序、Flutter自带SSL框架,目前抓不到
  • 多进程子进程(:service、:push)暂未支持
  • HTTP/2、HTTP/3在安卓上未普及,暂不支持

推荐搭配:frida17/安卓16,frida16.5.2/安卓14,frida15.2.2/安卓12。

3分钟看到第一包

第1步:克隆仓库并装依赖

git clone https://gitcode.com/gh_mirrors/r0/r0capture cd r0capture pip install loguru click

预期:依赖装完无报错,r0capture.py出现在当前目录。

第2步:确认设备连接正常

frida-ps -U

预期:列出目标设备上的App进程。注意老版本Frida用包名,新版本用App名(frida-ps -U显示的那个名字)。

第3步:启动抓包

python3 r0capture.py -U -f com.example.app -v

预期:终端开始滚动SSL_read/SSL_write日志,hexdump里能看到App发出的HTTP请求明文。

它到底替你干了什么

核心就三件事:

它Hook了SSL_read和SSL_write(Android底层libssl.so里的读写函数)→ 所以你能在TLS加密层之下直接看到应用层明文数据。不管App用BoringSSL还是Conscrypt,数据过这两个函数时都会被截下来。

它同时Hook了java.net的socketRead0/socketWrite0→ 所以不走SSL的明文HTTP请求也能抓到。Okhttp、Retrofit、Volley最终都落到Java层Socket读写,绕不过去。

它拦截了KeyStore$PrivateKeyEntry的证书获取→ 所以能自动把App里的客户端证书导出成p12文件,用于复现服务端验证场景。

换个姿势抓

Spawn模式(工具帮你冷启动App再开始抓,相当于从第一行代码开始监听):

python3 r0capture.py -U -f com.coolapk.market -v

适用时机:想从App启动那一刻开始记录,或需要触发客户端证书导出(必须Spawn)。

Attach模式(挂到已运行的App进程上):

python3 r0capture.py -U 酷安 -v -p capture.pcap

适用时机:App已经跑起来了,你只想从某个特定操作开始抓,顺便存成pcap给Wireshark二次分析。

进阶:把抓到的包玩出花

工作流1:定位收发包函数 → 重定向保存 → 离线分析

  1. 把输出重定向到文件:
python3 r0capture.py -U -f cn.soulapp.android -v >> soul3.txt
  1. 打开soul3.txt,搜索stack关键字,每次SSL_read/SSL_write都带完整Java调用栈
  2. 调用栈里com.android.okhttp.okio出现的位置就是网络请求发起点

工作流2:切换Frida非标准端口绕过检测

有些App启动时会扫描27042标准端口。把frida-server改到别的端口再连:

python3 r0capture.py -H 192.168.8.112:10002 com.sinovatech.unicom.ui

-H后跟frida-server监听的IP:端口,App探测27042时就找不到Frida。

工作流3:导出客户端证书

  1. 手动给App开存储卡读写权限
  2. 以Spawn模式(-f参数)运行
  3. 触发App网络请求后,证书自动落到/sdcard/Download/包名xxx.p12,密码r0ysue
  4. 用keystore-explorer打开查看

抓不到包?按顺序查这4项

Q1:终端完全没输出?先跑frida-ps -U确认能看到目标App进程。看不到就是frida-server没起来或版本不匹配,按推荐搭配换。

Q2:只能抓到一部分请求?先换Attach模式试一次,从你感兴趣的操作开始抓。还是缺的话,检查App是否走了WebView或Flutter,这部分暂不支持。

Q3:App闪退或被检测?把frida-server改到非标准端口,用-H IP:端口连接。有些App启动时扫描27042端口。

Q4:客户端证书没导出来?确认两点:一是手动给了App存储卡读写权限,二是该App确实部署了客户端证书验证(没部署的不会包含p12)。

抓不到的包直接提issue。想改Hook点,打开script.js看SSL_read拦截逻辑。

  • Frida Hook脚本
  • 主程序入口

【免费下载链接】r0capture安卓应用层抓包通杀脚本项目地址: https://gitcode.com/gh_mirrors/r0/r0capture

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 14:19:37

MAA自动公招设置教程:明日方舟的公开招募怎么一键搞定?

MAA自动公招设置教程:明日方舟的公开招募怎么一键搞定? 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址:…

作者头像 李华
网站建设 2026/8/22 14:19:09

Git撤销提交全攻略:从reset、revert到团队协作规范

1. 项目概述:当提交记录成为“历史包袱” 在团队协作开发或者个人项目迭代中,使用 Git 进行版本控制几乎是现代开发者的标配。我们常常会使用 fork 操作来复制一个远程仓库,然后在自己的副本上进行功能开发或问题修复。在这个过程中&#x…

作者头像 李华
网站建设 2026/8/22 14:17:14

Peacock快速入门教程:5个步骤从零部署你的HITMAN暗杀世界私服

Peacock快速入门教程:5个步骤从零部署你的HITMAN暗杀世界私服 【免费下载链接】Peacock The Peacock Project is a HITMAN™ World of Assassination trilogy server replacement. 项目地址: https://gitcode.com/gh_mirrors/pe/Peacock Peacock 是一个免费的…

作者头像 李华
网站建设 2026/8/22 14:16:25

LLM-as-a-Verifier插件:为DeepSeek Harness工作流构建AI质检员

最近在折腾 DeepSeek Harness 这类 LLM 应用框架时,我遇到了一个几乎所有开发者都会头疼的问题:如何让 AI 生成的内容不只是“看起来对”,而是“真的能用”?你肯定也经历过。用框架跑一个任务,比如生成一段代码、写一份…

作者头像 李华
网站建设 2026/8/22 14:15:50

taskt:800+命令免费RPA自动化工具完整上手指南

taskt:800命令免费RPA自动化工具完整上手指南 【免费下载链接】taskt taskt (pronounced tasked and formely sharpRPA) is free and open-source robotic process automation (rpa) built in C# powered by the .NET Framework 项目地址: https://gitcode.com/gh…

作者头像 李华