Android靜態安全檢測 -> 重打包防護檢測

重打包防護檢測


一、API


【1】APK簽名校驗:PackageManager.getPackageInfo( )




【2】dex文件校驗:對比classes.dex文件的哈希值




【3】參考鏈接


http://www.droidsec.cn/android應用安全開發之源碼安全/


二、觸發條件


1. 獲取所有反編譯smali文件名的對應列表smali_list


2. 獲取Manifest文件中所有組件名的對應列表component_list


【1】對應到smali語句中的特徵

r'<(?:activity |service |provider |receiver )'


3. 判斷組件對應的文件是否存在


Note 


【1】考慮不管是APK簽名校驗,還是dex文件校驗,如果APP源碼暴露,校驗邏輯也會被破解,二次打包總是不可避免的,所以主要去判斷APP是否進行加殼保護,只保留保護程序,隱藏源程序真正的代碼文件


【2】如果有更好的檢測方法和規則,求賜教!


三、漏洞原理


【1】應用沒有進行安全加殼保護,攻擊者可以利用重打包等手段修改程序的代碼邏輯及原始內容,同時上傳仿冒的APP到第三方應用市場,欺騙用戶


【2】更多內容


http://www.jianshu.com/p/6bcc42542997


四、修復建議


【1】建議使用相應的應用安全加固方案,提供對dex、so等文件的保護


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章