在iOS上用过frida stalker的都知道,稍稍复杂一点的情况就经常噶,通常只能trace几百行到几万行之间,非常不稳定,如果使用lldb trace可能有反调试问题,那么有没有一款trace工具能像frida一样简单使用呢, 那就是 QBDI关于QBDI已经有很多帖子详细介绍了,这里就不班门弄斧了。
在 d85K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6c8b7V1c8u0i4K6u0r3f1f1u0p5d9b7`.`. 的README中虽然写了支持IOS,但实际上只是在早期的几个版本支持arm版本,aarch64是不支持的,作者似乎也没有添加支持的打算, 网上也没有现成的
既然不会造轮子,那就只能修轮子了 :(这里用的是m1笔记本,先克隆到本地
cmake -DQBDI_PLATFORM=ios -DQBDI_ARCH=AARCH64 ..第一个错误意思很明显,去对应的CMakelists取消掉注释就行,
至于ios_AARCH64.s文件,可以将arm版本的修改成aarch64版本的就行,比如这样
第二个错误,操作也一样,将arm版本改成对应aarch64版本就行
最终cmake成功,然而这只是解决了最简单的问题,这才刚刚开始..
接着make又出现一个错误,这里只需要取其他路径复制一份头文件过来就行
下一个LLVM语法错误,这个错误只需要改成llvm::sys::Process::getPageSize().get()就行,并将block.size()改成block.allocatedSize()
最后一个链接问题,这里需要修改 src/Utility/CMakeLists.txt 将 elseif(QBDI_PLATFORM_OSX)改为elseif(QBDI_PLATFORM_OSX OR QBDI_PLATFORM_IOS)
看到这里似乎编译成功了,实际上没成功,这还是osx版本:(
第二次会出现很多看不懂的编译错误,这里简要说明为什么还会是osx版本,因为没有指定 CMAKE_OSX_SYSROOT 为iPhoneOS.platform, 实际上编译用的仍然是MacOSX.platform, 需要修改CMakelists文件,添加对应路径为xcrun -sdk iphoneos -show-sdk-path指定的路径
回复或点赞可查看完整内容
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288569.htm
[原创]iOS版本QBDI编译指南
214 浏览
11 回复
感谢分享
感谢分享
stalker 二改 ,也很稳定得
我来看看
支持下
我当时读了好几天才知道llvm-tblgen 是什么东西,要提前编译, android上面就很奇怪, 我确实看到生成了 android arm64的 tbgen 和 那个叫min-tbgen的东西
最后于 2025-9-23 11:52
被zhuzhu_biu编辑
,原因:
最后于 2025-9-23 11:52
被zhuzhu_biu编辑
,原因:
棕熊
支持下
大佬,就等你开源了
支持下
大佬,就等你开源了
wx_插曲
stalker 二改 ,也很稳定得
饼哥号
stalker 二改 ,也很稳定得
饼哥号
777- 111
just赋予
大佬,就等你开源了
嘿嘿 先不开呢 让我自己把玩几天
大佬,就等你开源了
嘿嘿 先不开呢 让我自己把玩几天
mb_aoooaosd
饼哥号
树哥好
饼哥号
树哥好