Skip to content

设备端与主机端分工 ​

⚙️ r0capture 的两端架构:script.js(设备)+ r0capture.py(主机)。

两端职责 ​

设备端 (script.js) ​

职责实现
Hook 函数Interceptor / Java.use
取明文readByteArray
取五元组SSL_get_fd / Socket 地址
发消息send(meta, data)

设备端只做"抓+发",不做格式化/存储。

主机端 (r0capture.py) ​

职责实现
注入脚本frida-python
接消息on_message
拼 pcapstruct.pack
打印myhexdump + loguru
文件管理pcap_file / 日志

主机端做"收+存+展示"。

为什么这样分 ​

  1. 设备端要轻:注入脚本越简单越不易被发现/崩溃
  2. 主机端有资源:PC 有磁盘/大内存,适合写文件/格式化
  3. 解耦:换主机端展示方式(GUI/CLI)不影响设备端 hook

数据通道 ​

两端通过 frida 的 send/recv 通道通信:

  • 设备→主机:send(meta, data)(主流量)
  • 主机→设备:script.exports.xxx()(RPC,如 setssllib)

详见 send/recv。

相关文档 ​

基于 VitePress 构建 · 教学用途