首页> 技术观点 > 如何防止工具(八门神器)进行内存修改

如何防止工具(八门神器)进行内存修改

发布时间:2013-11-11

Android内存修改器有很多。拿其中的比较出名的八门神器来说,该应用通过修改正在运行的游戏的内存数据,可以非常方便地修改游戏的HPMP、生命数等等参数。辛辛苦苦开发的游戏或应用被修改器一修改就悲催了。下面就通过一个demo来讲下,怎么通过多数据关联来保护应用的重要数据不被修改。

这个demo很简单,只有一个TextView和一个Button。点击ButtonTextView加一。

运行八门神器,锁定gold内存地址,把值改为999。然后点击Buttonclick方法中,代码从内存中读取了被修改的gold值,并把它+1显示到TextViewTextView显示1000,数据修改成功。

 

下面我们对代码进行下修改,增加一个变量goldMd5用来存放加密后的gold。这样我们就用了两个变量来保存gold的值,一份加密的和一份未加密的变量。

 

 

  每次使用gold值时都对获取的gold进行md5加密然后与goldMd5进行比较。如果不相同,说明gold值被修改了。我们可以判断为作弊了,我这里对作弊的处理是把gold值改为0,并提示作弊。如果加密数据使用的des算法,还可以通过解密goldMd5,来获取真实的gold值。

 

下面测试下demo还能不能被修改。使用八门神器把gold改为999

 

然后点击Button,数据修改失败。

 

加入收藏