精华内容
下载资源
问答
  • 思路:这个方式是用在已经root的手机上,用修改器通过搜索来确认关键数值内存地址,然后将其修改,达到破解目的。 工具:GG修改器 / 需要ROOT权限 打开GG修改器和游戏,进游戏后查看当前三叶草数量,GG修改器...

    这种方式非常方便,但是有个弊端就是需要我们有ROOT权限

    思路:这个方式是用在已经root的手机上,用修改器通过搜索来确认关键数值的内存地址,然后将其修改,达到破解目的。

    工具:GG修改器 / 需要ROOT权限

    打开GG修改器和游戏,进游戏后查看当前三叶草数量,GG修改器附加游戏进程,并搜索该数量。

    这里写图片描述
    这里写图片描述

    这里写图片描述
    然后点击新搜索
    这里写图片描述

    搜索结果比较多,我们需要筛选,回到游戏使用三叶草买东西,数值变化为229,然后我们搜索229来确认三叶草数量的内存地址。
    这里写图片描述
    搜索229,点击”改善”
    这里写图片描述
    这里写图片描述
    点击还剩两个,随便选一个修改成为99999
    这里写图片描述
    修改成功
    这里写图片描述

    展开全文
  • 作弊修改器的原理非常简单,就是通过数值搜索,在内存中查找到相同数值的变量,确定其是目标变量后,对其进行修改。相似的作弊还有cheat engine和手机端的八门神器。这类作弊修改器除了对单机游戏有效,对于一些...

    题记:

    以前玩过pc单机游戏的同学,相信对金山游侠这款作弊修改器一定不陌生,玩家通过修改器可以轻松地定位、修改游戏里的关键变量,如boss血量,金钱,主角战力等数据,轻松制霸游戏。作弊修改器的原理非常简单,就是通过数值搜索,在内存中查找到相同数值的变量,确定其是目标变量后,对其进行修改。相似的作弊器还有cheat engine和手机端的八门神器。这类作弊修改器除了对单机游戏有效,对于一些部分游戏逻辑放于客户端处理,没有经过服务器验证的网游,同样有效。我们都知道,外挂对于网游而言会极大破坏游戏公平性,不啻于毁灭性打击。

    解决这类作弊的办法有许多种:

    1、最彻底的方法当然将所有的游戏逻辑都放在服务端判断,或服务端进行强校验,确保客户端没有作弊。但这类方法的难点比较大:服务端需要与客户端保持一样的计算逻辑,会使服务端的复杂性增大;客户端上报的数据包不可避免会变大。

    2、退而求其次的方法则是进行客户端防内存修改处理。对于关键内存数据进行加密存储,虽然安全性不如前者高,但可以有效地防范前面所提到的那一类作弊修改器,保证关键数据安全。

     

    上周我们的页游项目上了一个新功能,是一个较独立的游戏系统,上了一个星期不到,有人就发现用ce修改器可以篡改关卡boss血量,从而达到快速通关。像这种关卡类的游戏,一般都是消除类游戏,游戏步骤多且细,其游戏逻辑一般是由客户端判断完成后,再将游戏结果上报给服务端的。而服务端验证方面只做了游戏开始,游戏结束两条协议的匹配验证、游戏时长的验证(游戏时间少于一定时长内判断游戏无效,防止使用外挂快速通关),关键数据未做内存加密,也没有进行服务端验证,以致让修改器有迹可循。讨论后,决定用第2种方法,对关键数据进行内存加密。

    通过一个自定义的安全类型SDTInt来代替int类型进行数据存储,其原理非常简单。SDTInt通过set/get value方法来存放/读取关键数据,set/get方法里分别会进行加密/解密的操作,因此常驻内存中的关键数据是以密文的形式存在的,可以有效防范使用数值搜索修改的外挂。而其加密/解密原理也非常简单,set时随机产生一个8位的key数组,让明文数据与key数组进行位异或操作,得到密文,从而实现加密;get时让密文与key数组再次进行位异或操作,得到明文,从而实现解密。关键代码如下:

        
       protected override function doDecrypt(originBytes:Array, keyBytes:Array):Array { return crypt(originBytes, keyBytes); } protected override function doEncrypt(originBytes:Array, keyBytes:Array):Array { return crypt(originBytes, keyBytes); }   
      private static function crypt(originBytes: Array, keyBytes: Array): Array
        {
            var bytes: Array = null;
            if (originBytes && keyBytes)
            {
                bytes = MemoryPool.getArray();//[];
                for (var i: int = 0, n: int = originBytes.length, m: int = keyBytes.length; i < n; i++)
                {
                    var byte: uint = originBytes[i];
                    var mask: uint = keyBytes[i % m];
                    byte ^= mask;
                    bytes.push(byte);
                }
            }
            return bytes;
        }    

     

    经过实测,使用SDTInt代替原生的int类型存放数据,可以有效避免被这类外挂搜索到。我实现的版本是as3,理解原理后可以很容易地改写成其他语言。附上githut上的源码demo,供有需要的人学习。

     

    github地址:https://github.com/leoin2012/TestDataType

    转载于:https://www.cnblogs.com/leoin2012/p/4194245.html

    展开全文
  •  显示个人信息,例如用户名、真实姓名、宿舍号、学号等,显示之后还需要支持对于数据进行修改修改之后,要同步修改页面的信息,这需要用到Ajax进行数据的提交,并且进行页面的局部刷新。 2.1.8 我发布的商品模块...
  • 预编译的概念搜索技能搜索用在找出第一个邮箱手机提取findall字符串切割筛选正则表达式正则表达式替换单个字符判断中括号选择一个字符正则表达式次数正则开头结尾括号与选择正则表达式特殊符号day19down 递归与爬虫...
  • 实例288 修改IE浏览标题栏内容 387 实例289 获取IE浏览版本信息 388 实例290 设置IE浏览的默认主页 388 实例291 禁止修改IE浏览主页 389 8.4 应用软件设置 390 实例292 建立数据文件与程序的关联 390 实例...
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取系统...
  • 程序开发范例宝典>>

    2012-10-24 10:41:28
    实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取...
  • 实例251 内存使用状态监控 345 实例252 键盘钩子屏蔽热键 346 实例253 CPU使用率 348 7.7 系统软件信息 350 实例254 获取计算机中已安装的字体 350 实例255 获取计算机的显示设备信息 351 实例256 获取...
  •  实例212 内存使用状态监控 301  实例213 监视剪贴板内容 302  7.7 系统软件信息 303  实例214 获取用户名 303  实例215 获取系统目录 305  实例216 注册系统热键 306  实例217 获取和修改BIOS...
  • C#.net_经典编程例子400个

    热门讨论 2013-05-17 09:25:30
    256 实例175 清空回收站 257 6.2 查找文件 258 实例176 搜索文件 259 实例177 检查文件是否存在 260 实例178 提取指定文件夹目录 261 6.3 修改文件 261 实例179 更改文件名称 ...
  • 同理,数值小性能高,但是对内存的质量也要求严格! DRAM RAS# to CAS# Delay: 这个项目可控制DRAM作用指令与读取/写入指令之间的延迟时间,有2,3,4几种选择。数值越小,性能越好。 DRAM RAS# Precharge: 这...
  • 实例248 修改IE浏览标题栏内容 348 实例249 隐藏IE浏览的右键关联菜单 349 实例250 设置IE浏览的默认主页 350 实例251 禁止修改IE浏览主页 351 8.4 应用软件设置 352 实例252 设置Word 2000文档...
  • * 有时修改语言会导致嗅探中的资源列表消失. [数据同步] * 不编辑过滤规则点击 "应用" 时, 会错误的进行同步. [阅读模式] * 已经隐藏的工具条仍然响应鼠标事件. * 增强阅读模式兼容性. * 某些情况下页面不响应...
  • 实例192 利用变量查询数值型数据 实例193 利用变量查询日期型数据 7.4 模式查询 实例194 利用_通配符进行查询 实例195 利用%通配符进行查询 实例196 利用[]通配符进行查询 实例197 利用[^]通配符进行查询 ...
  • 实例192 利用变量查询数值型数据 实例193 利用变量查询日期型数据 7.4 模式查询 实例194 利用_通配符进行查询 实例195 利用%通配符进行查询 实例196 利用[]通配符进行查询 实例197 利用[^]通配符进行查询 ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供...
  • java面试题

    2018-04-27 19:55:38
    Collections是针对集合类的帮助类,它提供了一系列针对集合的搜索,排序,线程安全化等操作。 final、finally、finalize的区别? 答:final用于声明属性方法和类,分别表示:属性不可变,方法不可覆盖,类不可继承...

空空如也

空空如也

1 2
收藏数 36
精华内容 14
关键字:

内存搜索器修改数值手机