Life Journal

随笔,及其他

我是 Xiao Xiao,在日本的产品经理,偶尔也写代码,iOS/Mac/Web,偶尔也做设计,爱用 Sketch,偶尔写文字,存在这里。


如何破解iphone上的ipa应用程序

解释一下,我所说的破解,是指将itunes store上买来的应用程序剥离成.app格式的过程中需要做的一步:删除苹果认证要求。以下是个人分析结果,可能与事实有出入:普通的ipa,通过itunes安装时,会要求iphone对其进行认证。因此当要在iphone上安装破解的ipa时,才有需要先安装一个正版的应用程序的说法,目的在于通过修改后的mobileinstallation文件的辅助,骗过iphone使其认为以后的应用程序都已通过认证。

但如果你的iphone无法安装上正版的ipa时,情况会如何呢?你会无法安装任何的ipa,装上之后也只会是无法运行。很多网上流传的.app格式的软件,也会有同样的问题。

解决方法,在于从ipa入手。已知的情况是,ipa其实就是一个zip封包,解压出之后,内部Payload文件夹内就是程序的.app的原内容。提取出来,那么你获得的.app就与网上大多数.app无异。找到.app内部的一个名为info.plist的配置文件,用个稍微高级点的修改器,在Win下我推荐用UltraEdit,打开后找到这一段

 SignerIdentity
 Apple iPhone OS Application Signing

将其全部删除即可。事实上就是这一段导致了认证过程的调用。之后通过winscp进行普通的安装即可。通过itunes的方式我暂未尝试。此方法对绝大多数程序有效——包括孢子。

但有些程序的该info.plist文件是以二进制的形式给出的,而非普通的形式——往往都是些1.1X平台移植来的程序。目前还未找到好方法,还请对修改这种文件了解的高手给予指点。下面给出二进制形式的文件例子info.plist

简单的删掉Apple iPhone OS Application Signing一句并不能解决问题。我对这种文件的读写不是很清楚,还请大侠指教。