IPA文档
.IPA后缀的文档是iOS和iPadOS的应用进程存盘文档,全称为iPhone application archive(iPhone应用存盘)。通常情况下,IPA文档都是使用苹果公司的FairPlayDRM技术进行加密保护的二进制文档,可以通过IPA砸壳的方式移除加密保护来对IPA文档进行一些修改。每个IPA文档都是ARM架构的可执行文档以及该应用的资源文档的打包文档,只能安装在iPhone、iPod Touch、iPad以及使用Apple Silicon平台的Mac上。文档可通过修改后缀为zip进行解压缩,并查看其内容。
.ipa | |
开发者 | Apple公司 |
格式类型 | 软件包格式 |
作为容器 | 移动应用进程 |
自 | ZIP文档、JAR文档 |
大多数.ipa文档无法安装在iPhone仿真器,因为不含用于x86架构的二进制文档,只有用于手机和平板电脑的ARM架构。[1]要在仿真器运行应用进程,需要使用Xcode软件开发工具包打开原始项目文档。但通过提取和拷贝实体数据文档夹的.app文档,可在仿真器上打开一些.ipa文档。一些简单的应用进程可通过这种方法在仿真器运行。
IPA文档是Apple「事实上的」格式。格式存在一种数字版权管理形式,用于控制对单个Apple ID重新分发。[2]在iTunes 12.7(2017年9月)之前,用户可直接访问表单的IPA文档App Store下载量。[3]
文档结构
IPA具有供iTunes和App Store识别的内置结构。 下面的示例显示了IPA的结构:[4]
/Payload/
/Payload/Application.app/
/iTunesArtwork
/iTunesArtwork@2x
/iTunesMetadata.plist
/WatchKitSupport/WK
/META-INF
如上所示,实体数据文档夹包含所有应用进程数据。iTunes Artwork文档是一个512×512像素的PNG图像,包含用于在iTunes显示的应用进程图标和iPad的App Store应用进程。iTunesMetadata.plist包含各种信息,包括开发者名称、ID、捆绑包标识符、版权信息、流派、应用进程名称、发布日期、购买日期等。
It is common but undocumented to use a JPEG file for .[5]
自 2017 年以来,Apple 在 IPA 中使用 LZFSE 而不是注册 Zip 算法。本例中的“压缩方法”字段设置为 99。 Since 2017, Apple has used LZFSE instead of registered Zip algorithms in IPAs. The "compression method" field in this case is set to 99.[6]
Code signing is handled in the .app bundle directory. The META-INF folder only contains metadata about what program was used to create the IPA.[7]
Unsigned .ipa executables
An unsigned .ipa can be created by copying the folder with the extension .app from the Products folder of the application in Xcode to a folder called Payload and compressing the latter using the command zip -0 -y -r myAppName.ipa Payload/
.
It is then possible to install unsigned .ipa files on iOS jailbroken devices using third party software. AppSync is the tool for installing such homebrew apps. Similar to the case of game console hacking, people are known to use this installation for piracy, against the tool developer's wishes:[8] some underground communities form around buying an app and then sharing its DRM-free unsigned version.
参考
- . Reincubate. [2019-04-08]. (原始内容存档于2019-04-08).
- . Ask Different. 2012.
- Bergman, Jim. . Stack Overflow.
- (PDF). ARXAN. 2014 [2019-04-08]. (原始内容 (PDF)存档于2017-12-22).
- . www.theiphonewiki.com. [2023-01-02]. (原始内容存档于2023-01-02).
- . sskaje. 23 August 2017 [2023-01-02]. (原始内容存档于2021-07-29).
- . Raz. 29 December 2017 [4 March 2020]. (原始内容存档于14 July 2020).
- . cydia.akemi.ai. [2023-01-02]. (原始内容存档于2023-01-02).