应用程序包保护 - 可以修改已签名的包*

时间:2011-11-14 13:27:01

标签: iphone ios security bundle

也许你们都知道.app包可以通过像iExplorer这样的工具轻松访问(对于那些只认为iTunes文件共享允许访问iPhone上数据的人而言)。也许您还阅读了iOS编程指南,标题为“将特定于应用程序的数据文件安装为首次启动”。相关段落遗产:

“...因为iOs应用程序已经过代码签名,修改程序包中的文件会使应用程序的签名无效,并阻止您的应用程序在将来启动。”

这至少在某种程度上是错误的。

我尝试修改从AppStore购买的SEVERAL免费第三方应用程序中的多个文件,并成功修改了多个文件的内容。 Voala,app推出没有任何问题。问题是,我使用了上面提到的iExplorer,没有破解,破解,越狱。只是一个支持开发的设备,以及已发布的已审核的应用。

我该怎么办?

1 个答案:

答案 0 :(得分:3)

代码签名仅在应用程序安装时通过iTunes,Xcode,iPhone配置实用程序等进行验证。因此编程指南的措辞有点误导。

这可能取决于性能 - 有一些非常大的应用程序,并且每次启动时都必须验证所有应用程序资源的校验和将花费太长时间。

代码签名的关键不是要防止篡改,而是要检测篡改。或者更准确地说,它只是一种声明您使用这些特定资源构建此特定二进制文件的方法。如果他们想要,攻击者可以完全删除代码签名。

因此总会有方法通过调试等来修改应用程序的资源甚至代码。你无法真正防范这一点。