近期逆向一个程序,发现有保护措施,不能加载。用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 的。
以上三个问题暂时没去研究,继续往下逆向再说吧。还请知道的朋友告知下,谢谢
时间: 2024-09-29 10:56:35