本文引導您使用行動裝置 App安全強化對 iOS App 進行加固。
使用須知
使用 mPaaS 應用安全強化前請閱讀以下使用須知,並保證您的工程滿足相關要求,否則可能導致加固失敗或加固效果受損。
建議相關待加固代碼採用 C、C++ 編寫。iOS 加固對 C、C++ 的支援更好更穩定,此外部分支援 Ojective-C,不支援 Swift。
加固會帶來效能損耗和理論上的穩定性風險提高,建議只對需要保護的核心代碼進行加固,將需要保護的 C、C++ 代碼抽離到一個單獨的 Framework 中,然後進行加固,不支援對整個源碼 App 進行加固。
目前支援 X86/M1 機器。您可從螢幕角落的蘋果菜單中選取 關於本機,查看 Mac 的概覽資訊,包括處理器資訊。如果顯示為 Intel 處理器即表明您的 Mac 為 X86 架構。
目前支援 Xcode 14.1/14.2/15.0.1。由於 iOS 加固會對編譯器進行處理,需要對特定 Xcode 進行適配,所以使用 iOS 加固時需要使用特定版本的 Xcode。
重要自 2024 年 4 月 29 日起,上傳到 App Store Connect 的 App 必須是使用 Xcode 15 為 iOS 17、iPadOS 17、Apple tvOS 17 或 watchOS 10 構建的 App。
請確保 App 工程的工作空間設定為 New Build System。檢查路徑為 Xcode > File > Project Settings > Build System。
操作步驟
配置環境檔案。按照以下方法產生
MSAConfig.json檔案,並放到$HOME目錄下。在 Mac 機器下開啟命令列輸入echo $HOME,即可得到$HOME目錄,使用時替換為真實值即可,欄位如下:{ "appId": "應用 appId", "workspaceId": "應用 workspaceId", "tenantId": "應用 tenantId", "accessKeyId": "阿里雲帳號 accessKeyId", "accessKeySecret": "阿里雲帳號 accessKeySecret", "license": "目前空即可", "domain":"xxx" }說明domain 的值分別為 ap-southeast-1 和 cn-hongkong,分別對應新加坡和中國香港環境。
其他欄位值擷取方式請參考 iOS 加固設定檔資訊擷取方式。
安裝加固工具。
下載加固工具,解壓後進入目錄 tools> xcode。
說明xcodeplugin-x86_64-5.9.0.zip 適用於 Xcode 15.0.1 + Mac X86。
xcodeplugin-arm64-5.9.0.zip 適用於 Xcode 15.0.1 + Mac M1。
xcodeplugin-x86_64-5.7.2 適用於 Xcode 14.1/14.2 + Mac X86,作業系統建議 13.2.1。
xcodeplugin-arm64-5.7.2 適用於 Xcode 14.1/14.2 + Mac M1,作業系統建議 13.2.1。

開啟 insertdylib 檔案,並在確認彈窗中單擊 Open。

執行以下命令。
sh ./tools/xcode/install.sh說明該命令會自動尋找與替換
/Applications/Xcode.app/的編譯器,如需要恢複可執行sh ./tools/xcode/uninstall.sh命令。
使用 Xcode 開啟 Framework 工程,執行
Build/Archive命令,暫不支援動態庫。重要工程路徑名稱中不能有空格或中文,否則可能導致編譯報錯。
處理完成後使用以下命令驗證加固,如果加固成功則輸出不為空白。
nm ./BinaryPath | grep obfuscator
後續步驟
加固後,請務必檢查關鍵組件功能是否正常,如果安裝包在加固後功能異常,請 提交工單 聯絡 mPaaS 技術支援人員。