Mach-O 文件修改造成程序无法启动

你好,关于mach-o文件的修改,我也遇到了跟你一样的问题,请问你知道是什么原因了吗?有解决办法吗?非常感谢你的回复~

解决方案思路如下:

  1. APPSync绕过系统检测
  2. 修改系统的dyld文件,将里面的“__RESTRICT/__restrict” 这个字段检测直接修改成其他字符串(这种方式容易白苹果)
  3. hook dyld文件中的一个函数,类似于该文件中内部自己身实现了一个字符串对比函数(这种方法理论上可行,但自己没有去实践)

好的,非常感谢你的回复。 但是我越狱手机上安装了APPSync,程序还是回闪退,不知道是不是我没有签名的问题,请问在越狱机上跑的话,也需要用ldid或者这之类的签名吗?

APPSync虽然安装了,有可能不起效果,你可以看看你安装的是哪个版本的。因为我以前也有遇到过这个问题,后来发现好像APPSync的原作者已经停止维护了。
在越狱机器上app启动的时候仍然会走签名验证的流程。APPSync只是想办法绕过了这个流程。

好的好的,原来是这样,真是太感谢啦!麻烦你了,:slight_smile:

客 气 了~

后来怎么解决的?

直接iHex修改Mach-O binary文件,替换换,就是闪退没办法执行。ldid -S也没用,iOS8 9越狱系统,已经安装最新版AppSync,不知道楼主怎么解决的呀?