應用的安全加固指對應用整體以及核心類進行加固,本節引導您完成創建加固任務的完整流程。
移動應用安全加固支持加固的對象包括:
APK/AAB 整體:對 APK/AAB 整體進行安全保護,提供 APK/AAB 防反編譯保護、DEX 文件整體加殼保護、DEX 文件防篡改保護、防白盒攻擊、殼加密算法保護、防調試保護、防內存篡改保護、防 Hook 保護、防模擬器保護、APK/AAB 防重打包保護、防內存 dump 保護。
核心類:對 Java 代碼進行混淆,隱藏真實運行流程,防止 jadx-gui、jeb 工具的反編譯,使加固后的代碼難以被人工直接閱讀。
So 文件:對 So 文件進行加密防護,以增加破解 So 文件的難度和成本。
Assets 文件:對 Assets 資源文件進行加密防護,使其滿足監管要求。
對 APK/AAB 整體的加固是必需的,核心類、So 文件和 Assets 文件的加固是可選的,對 APK 可以根據需求加固項。
前置條件
在開始本任務之前,您需要先準備好待加固的應用,要求如下:
文件格式須為
.apk
或.aab
。應用須未加固,移動應用安全加固不支持對已加固的安裝包進行重復加固。
APK/AAB 包已有簽名。在加固過程中會進行 APK/AAB 的防二次打包處理,因此上傳的應用包需要有簽名。
如果要對應用中的 Assets 文件進行加固,則必須確保 minSdkVersion ≥ 21,即 Android 版本不低于 5.0。
APK/AAB 大小應 ≤ 300 MB。
正式下單購買后的首次加固會自動綁定使用的包名,后續只能加固使用此包名的 APK,且綁定后不支持更換包名。試用期間沒有此規則限制。
操作步驟
創建加固任務的操作方法如下。
進入 mPaaS 控制臺,在應用列表中選擇目標應用。
單擊左側導航欄中的 移動應用安全 > 應用安全加固,進入 應用安全加固 頁面。
單擊頁面上的 創建安全加固,進入 上傳待加固應用 頁面。
單擊 上傳應用,上傳待加固的安裝包。上傳過程中,單擊頁面上的 取消上傳,可取消上傳,上傳待加固應用 頁面將回到初始狀態(即未執行上傳操作時的狀態)。
說明當上傳的 APK/AAB 不符合要求時,上傳將會失敗,此時,單擊 重新上傳 后,上傳待加固應用 頁面將回到初始狀態。
上傳成功后,頁面跳轉至 確認安全加固信息 頁面,在該頁面上,您需要完成以下操作:
確認應用信息:在 應用信息 欄下查看應用信息。
應用名稱
應用包名
應用版本
應用大小
確認加固信息:在 加固信息 欄下,查看對 APK/AAB 整體提供的加固服務。
加殼保護
AndroidManifest 文件防篡改保護
簽名文件保護
防調試保護
防原生應用調試
防內存 dump 保護
防模擬器運行保護
防 Root 設備運行保護
防內存數據讀取保護
防內存數據修改保護
防 Hook 攻擊保護
防內存代碼注入保護
選擇加殼模式:默認選擇 快速模式。
快速模式:經該模式加殼后的應用啟動速度較兼容模式加固后的應用快,但是在某些 Android 機型中可能會出現 Crash。
兼容模式:經該模式加殼后的應用啟動速度較快速模式加固后的應用慢,但是兼容性更高,加殼后的應用在運行過程中一般不會出現異常。
說明推薦使用 兼容模式 對應用進行加殼。
添加需要安全保護的類(可選):選擇需要加固的類,操作方法如下。
(可選)輸入類名關鍵字,單擊 搜索,搜索目標類。建議輸入比較完整的類名進行搜索,當搜索結果超過 1000 個時,平臺將無法展示搜索結果,此時,您需要輸入完整的類名重新進行搜索。
單擊與目標類對應的復選框,選擇目標類。支持多選,最多支持 300 個類。
說明已選擇的類名會出現在搜索框下方,單擊 ×,可取消選擇對應類名。
請選擇要防護的 So 文件:選擇需要加固的 So 文件,操作方法如下。
輸入 So 文件名稱中的關鍵字,單擊 搜索,搜索目標文件。
單擊待加固 So 文件前的復選框,可以選擇一個或多個目標 So 文件。
重要在選擇待加固的 So 文件時不建議選擇第三方的 So 文件進行加固,因為加固第三方的 So 文件以提升應用安全的意義不大,且容易產生兼容性問題
請選擇要防護的 Assets 文件:選擇需要加固的 Assets 文件,操作方法如下。
輸入 Assets 文件名稱中的關鍵字,單擊 搜索,搜索目標文件。
單擊待加固 Assets 文件前的復選框,可以選擇一個或多個目標 Assets 文件。
單擊 確認加固,加固應用。 頁面上顯示 應用加固中 提示時,表示加固任務已創建完成。單擊 查看加固列表 進入 應用安全加固 頁面查看安全加固列表。列表中新增當前任務的卡片,在卡片中,您可查看任務的加固進度,并下載加固后的 APK/AAB。