IPA文件

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

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

大多數.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具有供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.

參考

  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). 
僅歸檔
  • ar
  • Cpio
  • shar英语shar
  • tar
  • LBR英语LBR (file format)
  • BagIt英语BagIt
  • WAD英语Doom WAD
僅壓縮
  • Bzip2
  • Gzip
  • lzip英语lzip
  • LZMA
  • lzop英语lzop
  • Xz
  • SQ英语SQ (program)
  • compress英语compress
歸檔並壓縮
  • 7z
  • ACE
  • ARC
  • ARJ
  • B1英语B1 (archive format)
  • Cabinet
  • cfs英语CFS (file format)
  • cpt英语Compact Pro
  • DGCA英语DGCA (computing)
  • .dmg
  • .egg英语EGG (file format)
  • kgb英语KGB Archiver
  • LHA
  • LZX
  • MPQ英语MPQ
  • PEA
  • RAR
  • rzip英语rzip
  • sit英语StuffIt
  • SQX英语SQX
  • UDA英语PAQ
  • Xar
  • zoo英语Zoo (file format)
  • ZIP
  • ZPAQ英语ZPAQ
軟體封裝和分发
  • APK
  • App
  • deb
  • MSI
  • IPA
  • JAR
    • EAR英语EAR (file format)
    • Java RAR
    • WAR
  • Package (macOS)英语Package (macOS)
  • RPM
  • XAP
  • XBAP
文件封裝和分发