Ios 在64位系统上使用LC_加密_信息进行基本裂纹检测?

Ios 在64位系统上使用LC_加密_信息进行基本裂纹检测?,ios,security,dyld,Ios,Security,Dyld,我用LC\u ENCRYPTION\u INFO检查二进制文件是否加密/压缩。我用这个来猜测这个应用程序是盗版的可能性 在ARM64设备上,我发现这不再有效,并且我开始出现误报。你有这方面的经验吗?在ARM64中可以更改哪些内容?(它适用于iPhone 5 iOs 9beta版,但不适用于iPhone 5s和6 8.4)请参考以下答案: 此代码在64位设备(如iPhone 5s)上无法成功运行。标头已从mach_标头更改为mach_标头64,命令ID现在为LC_ENCRYPTION_INFO_

我用
LC\u ENCRYPTION\u INFO
检查二进制文件是否加密/压缩。我用这个来猜测这个应用程序是盗版的可能性


在ARM64设备上,我发现这不再有效,并且我开始出现误报。你有这方面的经验吗?在ARM64中可以更改哪些内容?(它适用于iPhone 5 iOs 9beta版,但不适用于iPhone 5s和6 8.4)

请参考以下答案:

此代码在64位设备(如iPhone 5s)上无法成功运行。标头已从mach_标头更改为mach_标头64,命令ID现在为LC_ENCRYPTION_INFO_64

我所做的是阅读标题,然后看看神奇的数字是什么 是如果它是MH_MAGIC_64,那么您就在64位设备上,需要 要使用mach_header_64结构并查找LC_ENCRYPTION_INFO_64 (定义为0x2C)而不是LC_加密_信息


要检查是32位还是64位,可以获取指针的大小。如果它是4,则您在32位设备上,否则它将是8,对于我的应用程序来说,它工作得很好。我发现只有使用ARM64二进制时才会发生这种情况。请您在具有ARM64版本的ARM64设备上试用它好吗?在遍历命令时,它找不到
LC\u ENCRYPTION\u INFO
命令。可能重复@GiuseppeLanza这不是重复的问题。您链接的问题显示了32位设备的答案。这个问题旨在解决64位设备的问题。看看我的答案。我发布的答案给出了64位大小写。