__RESTRICT修改为__RRSTRICT,程序闪退。

     近期逆向一个程序,发现有保护措施,不能加载。用machoview后,发现有__RESTRICT段,因此改为RRSTRICT。

     先前用iphone4调试,没有问题,只是调试过程中老是卡死,要等个半天才能有反应。因此换了iphone5s,9.3.3。安装后,把修改过的二进制scp到设备,发现闪退了。莫名其妙啊,为啥 iphone4 不闪退,iphone5s就闪退了?网上找了解决办法,可能是:

“CodeSignature/CodeResources 记录了可执行程序的hash值,你修改了了可执行程序后,没处理CodeSignature/CodeResources里的对应值”

对二进制签名进行签名:

codesign -s - --entitlements entitlements.plist -f TianXiaYou

然后在scp到设备,不闪退了。

 

问题遗留:

1、为啥 iphone4 不闪退,iphone5s就闪退了?

2、codesign这个签名和 证书签名有啥不同?区别?

3、entitlements.plist 这个里面的内容是啥意思?这个是以前我用来签名debugserver 的。

以上三个问题暂时没去研究,继续往下逆向再说吧。还请知道的朋友告知下,谢谢

posted @ 2017-09-11 11:56  iamonion  阅读(500)  评论(0编辑  收藏  举报