防止工具(八門神器)進行內存修改的方法
https://www.eoeandroid.com/home.php?mod=space&uid=1297371&do=blog&id=48170
Android內存修改器有很多。拿其中的比較出名的八門神器來說,該應用通過修改正在運行的遊戲的內存數據,可以非常方便地修改遊戲的HP、MP、生命數等等參數。辛辛苦苦開發的遊戲或應用被修改器一修改就悲催了。下麵就通過一個demo來講下,怎麼通過多數據關聯來保護應用的重要數據不被修改。<<<安卓APP破解技術有哪些?如何防反編譯
這個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,數據修改失敗。
最後更新:2017-04-03 08:26:15