会棍博主最近去逛了 GEEKCON 新加坡🇸🇬和🇵🇱华沙的 WarconPL XI,不过都没攒到值得写的素材,发点玩具项目充数好了。
XPC 是 macOS / iOS 安全研究无法忽视的一个点,之前已经有几个项目可以在命令行下抓取和打印 XPC 流量日志。我又写了个完全山寨 Wireshark 的界面,提供图形界面分析用户态进程之间的通信。
https://github.com/chichou/XpcScope
虽然 nodejs 和 python 两个运行时都算是 frida 优先支持的一等公民,但实际安装部署体验则是 python 远远比 node 流畅。GitHub 里天天都是小白问不完的 node-gyp 报错,因为 npm 的预编译包比较坑。
之前用 node 写了一些小工具,图 web 界面开发简单,最后却变的难以维护。所以试一下切到 Qt 加上 copilot 的开发效率如何。
由于依赖 Qt,pip 安装的时候需要下几百 M 的库,可能构建起来稍微需要一些时间。
python 要求 >=3.10 并 < 3.13,当前 brew install 的版本默认就可以。
接下来用 poetry 做虚拟环境管理,依赖项用 poetry install 一键安装即可。
第一次运行之前需要构建两个东西,一个是 js 的 frida 脚本:make agent
另一个则是 Qt 的资源脚本:make res
如果您的系统不支持 make,可以打开 Makefile 找到对应的命令手动执行。
接下来打开 bin/xpcscope,编辑其中的 get_target 函数。因为 python 的语法比命令行传参灵活太多,我就懒得封装了。
由于是玩具项目,不提供客服支持🏳️🏳️