AppleTrace 举例, 是不是有的应用勾不了msgSend?

设备: iPhone8p 13.3.1
环境: xcode10.2 MonkeyDev
需求: 绕过越狱检测 (kernbypass已搞定)
本人: 菜得一批

最近发现了一个应用"BDO Personal", 我发现使用类似 AppleTrace, VVAppTrace, AppTrace, 都无法勾到msgSend. 但是写的Demo又能看到. 所以比较奇怪, 这种是怎么做到绕过的?

1.发现它在越狱和非越狱状态下, 使用不同的delegate. DummyDelegate/VMDellegate. 自行hook main函数替换了, 无效;
2. 发现一个C函数updateJailbreakDeviceFlag(). IDA和Hopper伪代码如下图; 直接用了hopper把里面的内容nop掉, 无效;


3. 想到AppleTrace看下调用记录, 发现生成的trace.appletrace文件内容大小确定, 和其他正常的一样16M+, 但是这个解析不出来…

此App解压结构如图:


网上查了下这个KonMain.framework, 感觉像是有点像ReactNative的路子.
上面的其实都是伪命题, 其实我想问, 这种结构的应用, 有什么方式可以快速分析它;

在?为什么发在招聘区?

样本,请

image 可以看下这个函数的XRef,不过经验来说这种太明显的一般都是诱饵弹

是的, 使用fishhook, 发现根本没有到过这里; 主要是像这类型的包, 代码都在framework里面, 好像只能大概猜逻辑在哪个framework. 主要的ExecuteFile没有提供main入口, 而是把main放到了KonyMain.framework, 第一次看到这种操作; 里面的伪码也是看得一脸懵;


奇怪的是AppleTrace启动了, 却没有数据(移除VVTrace测试也一样); Trace数据传了半天不动, 就不传了
QQ20200926-105827@2x

fishhook是拿来hook这种函数的?

appletrace先要加载/Library/TweakInject/AppleTraceLoader.dylib,这里面会读白名单/var/mobile/Library/Preferences/com.everettjf.AppleTraceLoader.plist再决定要不要抓trace,你看你配了没