IPA文件

文件格式

.IPA后缀的文件是iOSiPadOS的应用程序存档文件,全称为iPhone application archiveiPhone应用存档)[来源请求]。通常情况下,IPA文件都是使用苹果公司FairPlay英语FairPlayDRM技术进行加密保护的二进制文件,可以通过IPA砸壳的方式移除加密保护来对IPA文件进行一些修改。每个IPA文件都是ARM架构的可执行文件以及该应用的资源文件的打包文件,只能安装在iPhone、iPod Touch、iPad以及使用Apple Silicon平台的Mac上。文件可通过修改后缀为zip进行解压缩,并查看其内容。

扩展名.ipa
开发者Apple公司
格式类型软件包格式
作为容器移动应用程序
扩展自ZIP文件JAR文件

大多数.ipa文件无法安装在iPhone模拟器英语iPhone Simulator,因为不含用于x86架构的二进制文件,只有用于手机和平板电脑的ARM架构[1]要在模拟器运行应用程序,需要使用Xcode软件开发工具包打开原始项目文件。但通过提取和复制实体数据文件夹的.app文件,可在模拟器上打开一些.ipa文件。一些简单的应用程序可通过这种方法在模拟器运行。

IPA文件是Apple“事实上的”格式。格式存在一种数字版权管理形式,用于控制对单个Apple ID重新分发。[2]在iTunes 12.7(2017年9月)之前,用户可直接访问表单的IPA文件App Store下载量。[3]

文件结构

编辑

IPA具有供iTunesApp 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.

参考

编辑
  1. ^ How to open an IPA file on Windows. Reincubate. [2019-04-08]. (原始内容存档于2019-04-08). 
  2. ^ itunes - How does iOS app DRM work, exactly?. Ask Different. 2012. 
  3. ^ Bergman, Jim. ios - How Can I Extract an IPA from an iPhone for an App Downloaded from the App Store so that I can see the assets in the IPA?. Stack Overflow. 
  4. ^ Reverse Engineering iOS Applications (PDF). ARXAN. 2014 [2019-04-08]. (原始内容 (PDF)存档于2017-12-22). 
  5. ^ IPA File Format - The iPhone Wiki. www.theiphonewiki.com. [2023-01-02]. (原始内容存档于2023-01-02). 
  6. ^ unzip with lzfse support. sskaje. 23 August 2017 [2023-01-02]. (原始内容存档于2021-07-29). 
  7. ^ Pulling apart an iOS App. Raz. 29 December 2017 [4 March 2020]. (原始内容存档于14 July 2020). 
  8. ^ AppSync Unified :: Karen's Repo. cydia.akemi.ai. [2023-01-02]. (原始内容存档于2023-01-02).