hail
(levis)
1
狗神在这篇文章中提到了修改Mach-O的__RESTRICT/__restrict这个section,但是我在iOS9.0.2 的越狱机器上也按照这种方式修改了,但是修改完成后的Mach-O文件覆盖原有的文件,每次打开APP程序会闪退。
自己分析了一些原因:1.iOS签名的问题造成了这种情况。2.修改Mach-O 造成了文件损坏。
针对第一种情况,我发现了一些情况,
1.如果是Mach-O导出到电脑本地,然后将手机中的文件覆盖掉(手机中的文件没有删除),没有问题。
2.如果将原来的Mach-O文件删掉,然后倒入在电脑上备份的文件,程序仍然闪退。
那么我想问问,因为在修改Mach-O文件的时候狗神提到了该怎么修改。我想问问狗神@snakeninny 您用的是iOS几的系统?APPSync是哪个源里的哪个版本?如果能绕过签名这块,就可以确定问题的所在,或者就是确定一下是因为修改文件造成的文件损坏。
1 个赞
0、__RESTRICT/__restrict,应该是__restrict/__RESTRICT,然后修改成__RESTRICT/__RESTRICT
1、确认Appsync没问题
2、cd到app目录,查看matcho文件是否有执行权限,如果没有,手动加上
3、签名问题,重签试试
4、还有问题就不知道了
hail
(levis)
6
第0条,这个没问题,已经修改成为其他字符串
第1条,我曾经将一些图片资源删除,或者更改为其他的图片,没有出现程序无法进入的情况,唯独执行文件如果这么做会出现
第2条,回头我会看一下,今天下午不小心动了系统内核的东西,不得一升级到了9.1目前无法越狱
第3条,现在使用的是Xcode7.0.1 好像重签名的工具已经不好用了,不知道有没有其他的选择。
第4条,如果搞定之后会在帖子中回复大家,供大家参考。非常感谢。
应该是破坏了原binary的签名,被iOS检测到所导致的。装个最新的AppSync试试?
hail
(levis)
8
狗神当时写防止tweak有高招的那篇文章的时候,使用的是iOS几?
我想问下,如果是安装最新的AppSync的话,被破坏的签名,iOS设备上也能正常跑?不需要重签?一般越狱设备都安装AppSync的,我的设备也都安装的,但是还是因为签名问题闪退,重签了就没问题
hail
(levis)
12
请问楼主使用的mac那个系统版本进行的重签名?好像10.10 已经不好用了。
跟系统有关系么?我是10.10.5,下载arm架构的ldid
hail
(levis)
14
我晓得了。我使用的是 Xcode 中的 以前有个ldid工具,后来不好使了。
你好,我也遇到这个问题。请问怎么重签名。是 ldid -s BinaryName 吗?我这样执行了也不行。