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).