Android內存修改器有很多。拿其中的比較出名的八門神器來說,該應用通過修改正在運行的游戲的內存數據,可以非常方便地修改游戲的HP、MP、生命數等等參數。辛辛苦苦開發的游戲或應用被修改器一修改就悲催了。
下面就通過一個demo來講下,怎么通過多數據關聯來保護應用的重要數據不被修改。
這個demo很簡單,只有一個TextView和一個Button。點擊Button,TextView加一。
運行八門神器,鎖定gold內存地址,把值改為999。然后點擊Button,click方法中,代碼從內存中讀取了被修改的gold值,並把它+1顯示到TextView。TextView顯示1000,數據修改成功。
下面我們對代碼進行下修改,增加一個變量goldMd5用來存放加密后的gold值。這樣我們就用了兩個變量來保存gold的值,一份加密的和一份未加密的變量。
每次使用gold值時都對獲取的gold進行md5加密然后與goldMd5進行比較。如果不相同,說明gold值被修改了。我們可以判斷為作弊了,我這里對作弊的處理是把gold值改為0,並提示作弊。如果加密數據使用的des算法,還可以通過解密goldMd5,來獲取真實的gold值。
下面測試下demo還能不能被修改。使用八門神器把gold改為999。
然后點擊Button,數據修改失敗。
更多內容,期待您的探索,請關注愛加密,讓您精彩不斷!
愛加密官方地址:http://www.ijiami.cn/