【发布时间】:2011-01-29 15:00:49
【问题描述】:
在提交我的应用程序以供批准之前,我是否可以知道所有或部分 iOS 应用程序的可执行文件的哈希值?
是否可以在我的应用程序中包含一个魔术常数,以便我可以使用它的大致位置作为获取大多数可执行文件的 SHA512 哈希的起点?我想为我的应用添加额外的可执行验证机制。
编辑:在 Apple Developer 网站上进行一些搜索后,我遇到了 Mach-O 文件格式规范。
【问题讨论】:
-
您想检查您的应用程序自己的可执行文件吗?这很容易破解——如果可以更改代码,他也可以更改哈希验证部分。您想处理哪些特定威胁?
-
选择一些蜜罐代码来校验和,并将哈希结果隐藏在某个看似不重要的地方(应用程序高分消息包中的随机填充字节或其他东西)。当然有人可以轻松破解它,但为什么会想到看那里呢?
-
@Eugene - 是的,我想检查我自己的可执行文件。实际上,我要保护的第二部分操作的 Javascript 代码(代码本身是加密的)的加密密钥是基于可执行文件的哈希值 + 一个单独的 IV。还有一些其他的保护措施我在这里无法讨论,但它们基于加密哈希、程序生成的混淆以及服务器的执行时间。
标签: ios hash cryptography