一、反編譯
1.定義:利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2.怎麼進行反編譯?
先了解apk對文件構造
二、加固方案的手段
1.反模擬器:模擬器運行apk,可以用模擬器監控到apk的各種行爲,所以在實際的加固apk運行中,一旦發現模擬器在運行該APK, 就停止核心代碼的運行。
2.代碼虛擬化:代碼虛擬化在桌面平臺應用保護中已經是非常的常見了,主要的思路是自建一個虛擬執行引擎,然後把原生的可執 行代碼轉換成自定義的指令進行虛擬執行。
3.加密:樣本的部分可執行代碼是以壓縮或者加密的形式存在的,比如,被保護過的代碼被切割成多個小段,前面的一段代碼先把後面的代碼片段在內存中解密,然後再去執行解密之後的代碼, 如此一塊塊的迭代執行。
三、加固的方案
四、加固總體框架
1.Dex文件是什麼?
加固的目的是保護dex文件,直接而言就是對dex文件進行操作,對dex文件動刀子,必須知道dex文件是什麼,能否直接動刀子。
2.apk打包流程:加殼是在原來apk的基礎上加一層保護殼,dex文件修改了就需要重新打包,否則apk安裝不了。
3.加密過程
4.apk文件如何運行(脫殼)
五、對稱加密和非對稱加密
對稱加密: 加密和解密的祕鑰使用的是同一個
例如:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES
加加固固的目的是保護dex,直接而言就是對dex文件進