工具

xpcspy XPC 消息拦截工具

基于 Frida 的命令行工具,可双向观察 iOS 和 macOS 上进程之间交换的 XPC 消息,用于理解 Apple 平台的应用与服务如何通过 XPC 通信。它可通过 USB 或远程 Frida 连接启动或附加到目标,按方向(传入或传出)和带通配符的服务名过滤跟踪,并可选解析 XPC 字典中携带的二进制 plist 负载,其中 bplist00 和 bplist16 被列为正式支持,bplist15 和 bplist17 为实验性。工具由 Python 命令行驱动一个编译为 JavaScript 的 TypeScript Frida 代理。

使用条件与局限

  • 审阅版本为标签 v0.9.0(即所审阅的提交,最后推送于 2026-05-11);对应的 xpcspy 0.9.0 版当天上传至 PyPI。requirements.txt 固定 frida ~=17.9.7 和 frida-tools ~=14.8.2,因此需要存在兼容的 Frida,且拦截只能在该 Frida 能够插桩目标的场景下进行:本地 macOS 进程,或可通过 USB(-U)或远程(-R/-H)由 frida-server 访问的 iOS 设备。
  • 通过 pip3 install xpcspy 安装命令行工具。从源码构建使用 Makefile:agent/ 下的 Frida 代理是用 frida-compile 编译的 TypeScript 项目(需要 Node.js 和 npm),随后用 python3 setup.py sdist 打包 Python 工具。包元数据标注作者为 hot3eed,并将主页指向 github.com/hot3eed/xpcspy。
  • 分析者通过名称、PID、前台应用或启动的文件来选择要检查的进程;工具不附带任何样本文件。它读取运行中目标的 XPC 流量用于分析,不会修改或注入消息。bplist 解析部分仍属实验性,README 的 TODO 列表也提到递归 bplist 反序列化等尚未完成的工作。
  • 采用 Apache-2.0 许可。所审来源未确立与 REA 的关联,本次审阅也未安装或运行任何内容。

关于此条目

类型
工具
类别
调试与动态分析
关联
基础工具
目标
应用 · 协议

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  2. setup.py GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  3. requirements.txt GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  4. Makefile GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  5. agent/package.json GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  6. xpcspy/__init__.py GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  7. LICENSE GitHub · ab-rizk/xpcspy · 修订 07c5a5b
  8. https://github.com/ab-rizk/xpcspy/releases/tag/v0.9.0
  9. https://pypi.org/project/xpcspy/0.9.0/

同分区更多条目:原生二进制

原生二进制分区全部 104 项资源