1. 程式人生 > >APK完整性檢查

APK完整性檢查

APK應用完整性概述

APK應用完整性即移動客戶端程式安裝後,在每次啟動時都會對自身檔案進行完整性進行校驗。防止攻擊者通過反編譯的方法在客戶端程式中植入自己的木馬,客戶端程式如果沒有自校驗機制的話,攻擊者可能會通過篡改客戶端程式竊取手機使用者的隱私資訊。

APK應用完整性檢查

1、使用Apktools反編譯APK檔案

反編譯後的結果

2、修改編譯後的檔案

這裡可以選擇修改smali檔案或者修改圖片內容,這裡選擇修改smail檔案

修改的策略:

a、修改圖片(可以替換圖片、修改圖片內容,但是要保持字尾名相同)
b、修改Smail檔案(新增Smail程式碼,例如靜態變數、函式等等,或者修改原有的smail程式碼,但是要注意修改的內容)

3、重新打包

注:如果此處打包不成功,說明存在完整性校驗,如果打包完成則需要跟進一步的測試來確定是否真的存在完整性問題。

4、簽名

本地金鑰庫的生成以及簽名的具體命令可以參考:https://blog.csdn.net/Fly_hps/article/details/81366352
本地金鑰庫生成參考:https://blog.csdn.net/Fly_hps/article/details/83583323
APK簽名完成:https://blog.csdn.net/Fly_hps/article/details/83583717

5、完整性驗證

在Android模擬器或者測試機上面安裝該APP,看是否可以成功安裝,如果可以成功安裝則說明存在“完整性校驗問題”,如果不能安裝成功,則說明不存在“完整性問題”。

至此,APP的完整性測試完成!