如何确定Apple并未篡改我的应用?

时间:2018-09-26 23:46:47

标签: ios app-store reverse-engineering code-signing jailbreak

据我了解,当您将iOS应用上传到App Store并获得批准时,Apple会执行一个程序,他们实际上仅使用自己拥有的密钥对应用进行加密(该密钥也已植入所有Apple设备中),然后重新签名(请参见他们没有原始发布者的私钥)。因此,有人从App Store下载的实际应用不再包含任何加密的“证明”,即它是发布者发送给他们的应用。

不管苹果是否愿意冒着修改上传的应用程序的风险(以获取什么收益?)的权利,看来作为软件发行商,要确保从下载的内容中下载什么是非常困难的,如果不是不可能的话。在苹果对其进行加密/重新签名之前,App Store并没有被篡改。

是的,可以将其安装在越狱的设备上,并使用离合器之类的工具再次对其进行解密,但是没有简单的方法来检测我是否可以确定是否进行了某些修改。理想情况下,我希望在应用程序中进行某种形式的运行时检查,以确保它没有被篡改或重新打包,但是尽管我可以对未通过应用程序商店分发的应用程序执行此操作,但似乎不可能适用于应用商店应用。

还有,有人知道TestFlight应用程序的过程是否相同吗?

1 个答案:

答案 0 :(得分:0)

在任何非越狱设备上根本不可能做到这一点,因为您无法从沙箱中访问可执行文件。为了检查更改,您必须先退出沙箱,然后解密可执行文件,然后才能获得哈希和(sha1,md5 ...)并将其与上传的版本进行比较。