【发布时间】:2017-11-16 16:50:04
【问题描述】:
不同的 iOS 架构二进制文件是否具有相同的整体代码,或者它们可以不同。
如果我要检查这些二进制文件中的某些内容,例如 PIE、ARC 或字符串(如 memcpy 等)。我是否需要检查两个精简二进制文件中的相同内容,或者它们是否相同,只是内存地址不同?
例如a fat binary consisting of armv7 and arm64, if the armv7 binary has PIE enabled, so will the arm64?
if the armv7 binary uses strcpy, the arm64 binary will also use strcpy?
进一步澄清的示例:两个二进制文件包含相同的发现,这意味着在 TLDR 中如下所示?相同的代码,只是每个架构的编译方式不同。
armv7
0x001e7e44 665 _memcpy
0x001e7ea4 770 _strlen
0x001e7eac 772 _strncpy
0x001e85b4 665 _memcpy
arm64
0x00000001001be7f0 645 _memcpy
0x00000001001be904 746 _strlen
0x00000001001be91c 748 _strncpy
0x0000000100220f18 645 _memcpy
TLDR; 2 个 iOS 二进制文件是相同的代码,只是根据架构不同编译不同吗?
【问题讨论】:
标签: ios binaryfiles arm64 armv7