gpt4 book ai didi

iphone - Apple 是否会修改提交到 App Store 的应用程序的 iOS 应用程序可执行文件?

转载 作者:可可西里 更新时间:2023-11-01 03:26:02 25 4
gpt4 key购买 nike

通过 App Store 购买并安装在用户 iPhone 上的应用程序的可执行文件与在原始应用程序包中提交给 Apple 的原始可执行文件相比是否逐字节相同?还是有所不同(例如,带有额外的签名或加密)?

我只关心可执行文件,而不关心整个应用程序包。

特别是,会不会有这样的代码......

int main(int argc, char* argv[]) {
FILE* file = fopen(argv[0], "rb");
// Read entire contents of executable file; calculate a hash value
// ...
fclose(file);
}

...计算与在原始提交的可执行文件上计算 iPhone 之外的哈希值相同的哈希值?

例如,如上计算 SHA256 哈希然后使用 XCode 中的“构建并运行”在连接的 iPhone 上运行产生与通过运行 openssl sha256 MyAppExecutableFile 计算 SHA256 哈希完全相同的结果OS X 中的终端。这意味着通过 XCode 安装应用程序的行为不会改变可执行文件。

我的问题是,当应用提交到 App Store、购买和安装时,这是否仍然成立。

最佳答案

应用程序可执行文件在 App Store 上发布时由 Apple 加密,因此在您自己的二进制文件上自行运行校验和不是一个好主意——您无法提前知道加密二进制文件的文件大小。

请注意,二进制文件始终在文件系统中保持加密状态,只有 iPhone root 用户才能解密这些二进制文件。如果您使用 iTunes 从 App Store 下载应用程序,则可以在您的 PC 或 Mac 上打开 IPA,并通过运行 otool 查看二进制文件确实已加密:

otool -l <app binary> | grep cryptid
crypt id 1
(a value of cryptid 1 means the app is encripted)

otool -l <app binary> | grep cryptsize
12345678
(size of the encrypted segment)

关于iphone - Apple 是否会修改提交到 App Store 的应用程序的 iOS 应用程序可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com