如何反检查砸壳的代码?

从AppStore下载的ipa,和被砸壳后的ipa运行结果不一样,检查砸壳的代码有哪些?如果反这个检查砸壳的代码?

不知道能不能检查被砸壳。
但,是不是通过其他渠道检查的?bundleid 等等其他重签名的特征?

网上可以搜到检查砸壳的代码。还没验证有没有效果。

把从APPStore下在的ipa砸壳,应该不会改变bundleId等其他信息的吧。 不进行重签名直接安装在越狱手机上,某些地方运行的结果不一样。

可以快速使用cycript检查一下。

内存和文件效验啊。被dump的文件,肯定是和内存中一样的~。

1 个赞

怎么校验?详细讲一下呗

不是界面长得不一样,是某些地方计算的结果不一样,用cycript不能检查吧。

对啊,可以读文件哈

读自己的可执行程序

decrypted的反向操作,找到可执行文件的加密部分,然后对照内存中的这部分(记得好像是在LC_ENCRYPTION_INFO/LC_ENCRYPTION_INFO_64 LD吧~),if (eq){被dump了;}

我是说你快速写个插件,在里面写个OC函数,调用上面链接里给出的检测cryptid是否为1的判断。
然后hook到某个app,比如微信,任何都可以,不砸壳儿的一个版本,砸壳儿的一个版本,在cycript里快速调用你写的OC函数就可以知道这个链接里的函数是否可以判断dump了没有。总之思路就是判断是否有cryptid=1这个标记