分享一下,如何防止工具(八门神器)进行内存修改!

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,数据修改失败。

时间: 2024-12-14 08:11:07

分享一下,如何防止工具(八门神器)进行内存修改!的相关文章

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

Android内存修改器有很多.拿其中的比较出名的八门神器来说,该应用通过修改正在运行的游戏的内存数据,可以非常方便地修改游戏的HP.MP.生命数等等参数.辛辛苦苦开发的游戏或应用被修改器一修改就悲催了.下面就通过一个demo来讲下,怎么通过多数据关联来保护应用的重要数据不被修改.<<<安卓APP破解技术有哪些?如何防反编译 这个demo很简单,只有一个TextView和一个Button.点击Button,TextView加一. 运行八门神器,锁定gold内存地址,把值改为999.然后点

八门神器怎么使用

八门神器是安卓.iOS.塞班平台上通用的游戏修改工具,可以修改内存中的数值和参数,达到修改游戏HP.MP.金钱.等级等的作用.八门神器类似于PC平台的金山游侠等游戏修改器,是手机游戏中的金手指.但八门神器在安卓平台下需要Root权限才能正常工作,在iOS平台下需要iPhone越狱才能正常工作,并且支持中.英双语言,并且自带帮助说明. 注意:本程序需要你的设备越狱,并且安装AppSync和OpenSSH才能正常工作! 八门神器怎么使用的具体方法: 八门神器本身是一款修改游戏的超级神器,但是很多人只

安卓使用教程:(八门神器)破解游戏内购方法及原理

小编一直反对游戏修改,认为那样会失去游戏的乐趣,但最近在玩<萌军敢死队>,努力了好多天发现,无论你如何努力,不内购游戏就无法继续下去了,对于这样的游戏我只能说一个字:改! 八门神器(GameKiller)是一个Android平台的游戏修改器,该软件通过修改正在运行的游戏的内存数据,可以非常方便地修改游戏的HP.MP.生命数等等参数,理论上所有游戏,包括模拟器游戏都是可以修改的,我们测试主流的模拟器,如:PS模拟器.FC模拟器.SFC模拟器.GBA模拟器等等的游戏基本都能修改成功.软件需要ROO

单机游戏如何防止类似八门神器这类的内存修改器的篡改办法

当下由于八门神器这类的存在,好多的单机游戏开发程序员都听蛋疼,今天看到伟哥实现了一个办法.... 大体的思路是: 1.实现一个类似与由一个值可以生成唯一的另一个值的函数(类似于C++ 的 std::hash<std::string>)hashFunc 2.本地保存两个相对的成员变量(this->coin, this->hash_coin) 3.每次对 coin赋值总会一起用 hashFunc对 hash_coin来赋值 4.当读取的时候判断 hash_coin 和 hashFunc

免费分享个JS特效工具

原文:免费分享个JS特效工具 源代码下载地址:http://www.zuidaima.com/share/1586986918480896.htm 里边基本用到的特效都差不多有了. 特效页面右击,可以查看代码 版权声明:本文为博主原创文章,未经博主允许不得转载.

客户端内存修改对抗神器

之前在淘米网络做赛尔号手游版本的时候,被一些玩家用"八门神器"来修改游戏内存数值,当时就负责做了客户端内存数值防修改的工作 简单的说一下当时的做法: 比如有一个int类型的值a,如何防止被内存搜索器搜出来了,我是采用的把a做特征加密,如何做了 就是把a的4个字节,32位肢解,然后重新组合,这样在内存中存贮的就是一个加密过的,谁也不认识的值,做一些计算或者是需要显示的时候,再给反解密出来就可以了.其他类型byte,float,double都可以一样的处理,可以写出不一样的加密算法,只要能

安装交叉编译工具arm-linux-gcc-4.3.2 并且修改环境变量

安装交叉编译工具arm-linux-gcc-4.3.2 2011-07-08 00:55:28|  分类: 嵌入式|举报|字号 订阅 环境:Fedora 9 STEP 1: 下载arm-linux-gcc-4.3.2.tgz. 把arm-linux-gcc-4.3.2.tgz随便放在一个目录,我放在了/opt.下载网站1:http://www.arm123.com.cn/linux/arm-linux-gcc-4.3.2.tgz             下载网站2:http://www.arm9

让我们一起来实现一个完整的内存管理工具(线程,内存池,萃取)

//让我们开始一个完整的内存管理工具的实现吧. ///准备做一个完整的内存管理工具 //涉及线程,内存池,萃取,不仅仅是new跟delete的重载(或者说是函数重载),这是我的一个雏形,大家谁有什么好的指正谢谢提出,一起学习. #include <iostream> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <list> #include <mal

C++ Primer 学习笔记_98_特殊的工具和技术 --优化内存分配

特殊的工具和技术 --优化内存分配 引言: C++的内存分配是一种类型化操作:new为特定类型分配内存,并在新分配的内存中构造该类型的一个对象.new表达式自己主动执行合适的构造函数来初始化每一个动态分配的类类型对象. new基于每一个对象分配内存的事实可能会对某些类强加不可接受的执行时开销,这种类可能须要使用用户级的类类型对象分配能够更快一些. 这种类使用的通用策略是,预先分配用于创建新对象的内存,须要时在预先分配的内存中构造每一个新对象. 另外一些类希望按最小尺寸为自己的数据成员分配须要的内