app加固


為什么要加固APP?
答:因為黑客通過反編譯APK得到源碼后,會在應用中插入代碼,獲取利益,比如添加廣告,盜取用戶賬號、密碼,后台定制活動等。
 
反編譯的方法?
反編譯是指apk文件通過反編譯工具(例如ApkTool,BakSmali,dex2jar等)對其進行反編譯,
 
反編譯后會失去原版APP的什么屬性?
在反編譯時會失去原本的程序簽名
在反編譯后,如果修改代碼,會破壞代碼的完整性。
 
 
一、破解者如何盜取移動支付用戶賬號密碼--防劫持和校驗技術
1.界面劫持:在登陸界面上布置一層透明的UI界面,當用戶輸入密碼時是輸入在透明UI界面上,獲取用戶賬戶密碼。
  反劫持技術:APP自身進行檢測自己的Activity是否是在棧頂,通過彈窗提示用戶。
2.校驗:完整性校驗、簽名校驗。防止二次打包。防止打包黨通過反編譯后在apk內添加廣告。
    2.1完整性校驗:運行時計算md5、sha1等。
    2.2簽名校驗:判斷應用簽名,是否為正版簽名,否則提示或退出。
    由於Java層代碼容易被反編譯,所以我們要把校驗技術放在native層(系統運行庫層)
二、破解者如何盜取移動支付用戶賬號密碼--自定義鍵盤
    Android軟鍵盤采用了一套統一的通信機制,通過重載BaseInputConnection類方法,可以攔截到輸入字符,EditText類也有類似的監聽攔截方法。
1、自定義鍵盤一般采用標准的數字鍵和qwerty鍵盤布局。
2、更優秀的做法,采用亂序,大大提高了安全等級。
 
 
關於第三方的加固方案
安卓dalvik虛擬機要求dex文件在內存中以明文形式存在,那么任何加殼方法,到頭來到了內存還是明文存在,各種dump方法終究是可以獲得它的.那么APP究竟應該如何加固才能防止APP被篡改?
 
app被篡改是防止不了的,只要有人肯逆向。目前最正統的做法就是加殼,不要小看加殼,dump出dex對於大多數人來說依然是一件非常困難的事,如果脫不掉就別談篡改了。殼被脫掉后也是有辦法阻礙篡改的,關鍵就在於反二次打包,可以通過在原生層驗證簽名來實現。另外有一種辦法,處理編譯后的二進制AndroidManifest.xml文件,添加無效的參數,使反編譯得到錯誤的清單文件,篡改者用這個錯誤的清單文件回編譯會使app在一個錯誤的上下文中運行,可檢測到。

1、梆梆

2、通付盾

3、360加固保

4、愛加密

5、騰訊

6、娜迦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM