SO 加固與 Native 相容性檢查清單
御盾技術指南 · 技術原理與實操 · 繁體中文
SO 加固的起點不是隱藏幾個符號,而是理解 Native 庫如何被構建、裝載和呼叫。只有裝載鏈與 ABI 範圍明確,保護策略才有可驗證的邊界。
建立 Native 依賴圖
列出應用直接載入的庫、間接依賴、JNI 註冊方式和初始化順序。第三方 SDK 自帶的 Native 庫也應進入圖中。
依賴圖用於判斷哪些庫可以獨立處理,哪些庫必須保持匯出或載入約束。
- 主庫與依賴庫
- JNI 註冊方式
- 載入時機
- 第三方 Native SDK
按資訊型別選擇保護
匯出符號、字串、常量、協議處理和高價值函式暴露的風險不同。單一處理方式不應被包裝成完整 SO 保護。
高頻函式、啟動初始化和異常處理路徑需要特別關注效能與穩定性。
每個目標 ABI 都要有證據
構建產物應明確包含哪些 ABI,並在對應架構上驗證安裝、啟動、庫載入和關鍵 JNI 呼叫。
模擬器結果不能自動替代真實目標架構,缺少覆蓋時應明確記錄未驗證。
- ABI 與產物一致
- 依賴可解析
- JNI 呼叫可迴歸
- 異常能夠定位
釋出邊界
Native 保護提高分析與篡改成本,但簽名、版本合法性和服務端授權仍需獨立治理。最終候選包必須和 APK 層、業務層一起完成釋出迴歸。
用真實候選包驗證邊界
提交應用的技術棧、關鍵路徑與目標系統範圍。登入、註冊、申請和專案資料均由御盾中央平臺承接。