当前位置: 首页 > 编程日记 > 正文

数据分析之CE找数据大法

一.基本介绍

CE的全称为Cheat Engine,是一款内存修改编辑工具,其官网是http://www.cheatengine.org,可以在其官网下载到最新的CE工具,目前最新版本是Cheat Engine6.5。CE同时也是一款开源的工具,使用者可以在git中下载源代码: https://github.com/cheat-engine/cheat-engine。

CE的功能包括有16进制编辑,反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能及调试功能,可以附加到游戏中进行调试,所以是分析游戏的工具之一。

二.CE内存搜索功能的使用

1. 精确搜索:

CE的主界面如下图所示,使用CE搜索游戏数据,首先需要将CE附加到游戏进程中。

点击左上角菜单下发的绿色方框的按钮,打开进程列表对话框。

选择相应的游戏并点击打开,此时,就可以在数值搜索框中输入需要搜索的数据。比如搜索游戏中显示角色血量值的存放地址:

如上图血量所示,在CE的搜索数值输入框中输入“生命值”12393,选择扫描类型为“精确数值”,点击“新的扫描”开始第一次扫描。

搜索出的匹配值有98个,由于结果较多,这个时候不能确定正确的存放地址,需要再次搜索。

这个时候被怪打一下(使血量变化),输入新的生命值,点击“再次搜索”,此时的搜索值可以缩小到3个。

此时经过测试就可以发现第一个地址就是存放游戏界面中血量显示的地址。

2. 模糊搜索

如果搜索数值不确定的话,就需要使用模糊搜索的方法。使用模糊搜索的情况主要有具体数值不显示在游戏界面上,比如血量用百分比表示。模糊搜索的类型比较多,如下图所示:

同样以搜索生命值为例,首次扫描时选择“未知的初始值”

点击“首次扫描”,这个时候会出现非常多的扫描结果。这个时候去被怪物打一下减少血量后,由于此时数值是减小的,所以在扫描类型中选择“减少的数值”,然后点击再次扫描:

重复多次扫描后,即可找到存放的生命值的地址。

三.代码跟踪

代码跟踪比较常见的用途是找基址,游戏中任何数据都在内存中存在,比如角色的血,蓝,等级等数据,这些数值存放的方式一般是对象+偏移,在C++就是以指针的方式表示,如果需要知道对象在内存中的存放地址,就需要找到对象的基址。

需要知道对象的地址或数据的偏移,常见的方法就是找到访问或改变这个值的指令,可以使用Cheat Engine的反汇编及调试功能。

如上例的数据搜索找到的生命值存放的地址,将其放到CE最下方地址列表中,右键点击列表中的地址项,如下图所示,“找出是什么访问了这个地址”和“找出是什么改下了这个地址”分别可以跟踪生命值在代码的什么地方被读取和改写。

例如需要找到在血量被改写的地方,先在地址列表中右键点击“找出是什么改写了这个地址”,此时CE会附加到其内置的调试器,并自动列入对生命值进行写入的代码。

此时,ecx=0x22B96D34是对象的地址,血量通过eax赋值到+41Ch的地址漂移处。如上图所示,所以一级指针ecx的偏移+41Ch地址处。Ecx的赋值为上一条指令mov ecx, [esi+10],其二级指针是esi的偏移+10h地址处,再往上一条指令mov esi, [esi+4FA0],可以确定三级指针为esi,偏移为+4FA0h,以此类推,就可以找到血量存放的基址。

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

转载于:https://www.cnblogs.com/nothx/p/8537303.html

相关文章:

a++浏览器_“公司发给我的职业装太小了,我该怎么和领导说?”哈哈哈哈哈|职业装|uc|浏览器...

GIF打开UC浏览器 查看更多精彩图片GIF打开UC浏览器 查看更多精彩图片GIF打开UC浏览器 查看更多精彩图片GIF打开UC浏览器 查看更多精彩图片GIF打开UC浏览器 查看更多精彩图片GIF打开UC浏览器 查看更多精彩图片GIF打开UC浏览器 查看更多精彩图片打开UC浏览器 查看更多精彩图片GIF…

Go基础编程:延迟调用defer

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 本篇文章所讲的就是go编程中的延迟调用defer,希望对社区的成员有较多的帮助。 1 defer作用 关键字defer ⽤于延迟一个函数、方法或者当…

maven工程插件配置

1 <build>2 <!-- 该级工程会加载插件&#xff0c;放在父工程里 -->3 <plugins>4 <!-- 资源文件拷贝插件 -->5 <plugin>6 <groupId>org.apache.maven.plugins</groupId>7 …

卡巴斯基安全浏览器_卡巴斯基 for windows 全方位安全软件2021注册表清除版

软件介绍最近从来不相信木马的Run同学中招了&#xff0c;wup.exe(俗称矿机木马)&#xff0c;此款木马真可谓厉害&#xff0c;无敌&#xff0c;用过所有方法都无法清理&#xff0c;百度了所有的道道几乎无用&#xff0c;中了此毒&#xff0c;电脑不会有什么特别异常&#xff0c;…

Android通过ksoap2调用.net(c#)的webservice

转载于:https://www.cnblogs.com/Nagisa-Saku/p/5706183.html

●洛谷P3688 [ZJOI2017]树状数组

题链&#xff1a; https://www.luogu.org/problemnew/show/P3688题解&#xff1a; 二维线段树。 先不看询问时l1的特殊情况。 对于一个询问(l,r)&#xff0c;如果要让错误的程序得到正确答案&#xff0c; 显然应该满足l-1位置的值r位置的值&#xff08;或者说两个位置的异或值…

Activity-生命周期

Activity不是什么陌生的东西&#xff0c;作为Android程序媛对Activity再熟悉不过。每当说起Activity总最关注的还是它的生命周期。 1、一张来自谷歌官方文档的Activity的生命周期图&#xff1a; 直接来个MainActivity覆盖上面所有的方法通过log打印方式给大家展现&#xff0c;通…

arial unicode ms字体_5个检测商用字体和免费字体合集的网站

对于做新媒体和设计的小伙伴来说&#xff0c;最恐慌的就是加班、改稿、脱发、没钱...侵权问题了。一个不注意就是律师函警告。正所谓律师函不是不到&#xff0c;只是晚到。所以&#xff0c;皮皮特意为小伙伴们搜集了这5个远离字体侵权的网站&#xff0c;有检测字体版权的&#…

DAPP是什么

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 1 DAPP是什么1 当满足下所有条件的时候&#xff0c;一个应用才可以称为DAPP [if !supportLists]1. [endif]必须是开源、自治并没有一个实体控制着…

JVM学习--(一)基本原理

前言 JVM一直是java知识里面进阶阶段的重要部分&#xff0c;如果希望在java领域研究的更深入&#xff0c;则JVM则是如论如何也避开不了的话题&#xff0c;本系列试图通过简洁易读的方式&#xff0c;讲解JVM必要的知识点。 运行流程 我们都知道java一直宣传的口号是&#xff1a;…

phpexcel导出超过26列解决方案

phpexcel导出超过26列解决方案 原文:phpexcel导出超过26列解决方案 将列的数字序号转成字母使用,代码如下: PHPExcel_Cell::stringFromColumnIndex($i); // 从o,1,2,3,..开始,相应返回返回 A,B,C,...Z,AA,AB,...将列的字母转成数字序号使用,代码如下: PHPExcel_Cell::columnIn…

h5大转盘抽奖源码后台_微信H5互动营销应该要如何做?

现在微信营销的队伍有越来越多的人群&#xff0c;许多的企业品牌都会选择用微信营销&#xff0c;而微信营销这么受欢迎是因为微信拉近了用户与企业品牌的关系。其中H5互动营销是最受欢迎的一种方式&#xff0c;那么微信H5互动营销要如何做呢&#xff1f;企业想要在微信H5营销中…

Solidity语言

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 Solidity语言11 Solidity是以太坊智能合约的编程语言&#xff0c;我自己也是学习了很久&#xff0c;感觉是有些难度&#xff0c;所以需要去认真的去…

同一个类 cannot be cast to_留学热门assignment之 税收筹划类essay

税法和税务筹划一直以来都是热门的行业&#xff0c;由于近些年对于税务人才的需求越来越大&#xff0c;税法专业成为了当下最火爆的留学专业之一。发达国家由于税收和法律体系相对完善&#xff0c;法律的条文相较于其他国家而言也更加的细致和有操作性&#xff0c;因此&#xf…

LeetCode 7. Reverse Integer

问题链接 LeetCode 7 题目解析 给定一个32位有符号整数&#xff0c;求其反转数字。 解题思路 如果是简单反转的话&#xff0c;那这道题就太简单了。题目要求判断溢出问题&#xff0c;32位int类型的范围是-2147483648&#xff5e;2147483647。数字反转过后是有可能超出范围的&am…

Ultra-QuickSort POJ 2299(归并排序)

http://acm.hust.edu.cn/vjudge/contest/124435#problem/D 题意&#xff1a;给出一个长度为n的数列&#xff0c;你每一次可以随意交换其中两个数字的位置。问你至少交换几次&#xff0c;才能使得这个数列是个单调递增数列。 比赛时没做出来&#xff0c;&#xff08;自然&#x…

Geth 控制台使用及 Web3.js 使用实战

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 突然发现没有太多写实战的&#xff0c;所以就写一点自己的拙见&#xff0c;提供给成员一些参考。Geth 控制台&#xff08;REPL&#xff09;实现了所…

Java多线程的同步机制(synchronized)

一段synchronized的代码被一个线程执行之前&#xff0c;他要先拿到执行这段代码的权限&#xff0c;在 java里边就是拿到某个同步对象的锁&#xff08;一个对象只有一把锁&#xff09;&#xff1b; 如果这个时候同步对象的锁被其他线程拿走了&#xff0c;他&#xff08;这个线程…

mouseenter 延迟_桃园台服加速器 电狐加速器带你低延迟玩游戏

桃园是由冰动娱乐自主研发的全球首款运用世界顶级开发引擎Unreal Engine 3的次世代回合制网络游戏。Unreal 3引擎在骨骼动画树、特效渲染、游戏性完善等方面表现杰出&#xff0c;而且游戏中还可以呈现广角纵身大场景&#xff0c;1080P的高清画质将会带给玩家前所未有的视觉震撼…

私有链的特点简单介绍

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 私有链是区块链的一种&#xff0c;它指的是某个区块链的写入权限仅掌握在某个人或某个组织手中&#xff0c;数据的访问以及编写等有着十分严格的权限…

typescript调用javascript URI.js

URI.js URI.js是一个用于处理URL的JavaScript库它提供了一个“jQuery风格”的API&#xff08;Fluent接口&#xff0c;方法链接&#xff09;来读写所有常规组件和许多便利方法&#xff0c;如.directory&#xff08;&#xff09;和.authority&#xff08;&#xff09;本文以URI.j…

richeditctrl 选中ole图片 拖拽 空白_高质量的图片素材,碾压度娘几条街......

答应我不要错过​哈喽大家周末好啊&#xff0c;总有小伙伴来问公子说每周的素材分享我到底都是从哪里找的呢&#xff0c;其实公子之前也有告诉过大家&#xff0c;可能是隔的时间太久了。所以今天呢我又给你们整理了一些经常会用到的几个图片网站&#xff0c;都是非常知名而且基…

20160722noip模拟赛alexandrali

【题目大意】 有许多木块, 叠放时, 必须正着叠放, 如图1, 左边两块为合法叠放, 右边为不合法叠放. 图1 一个方块被称为稳定的, 当且仅当其放在最底层, 或其正下方有方块且下方的这个方块的四周都有方块. 叠放必须保证所有方块都稳定. 如图2, 左边3个叠放为合法叠放, 右边2个叠放…

以太坊技术知识讲解

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 以太坊&#xff08;Ethereum&#xff09;是2013年底由一个叫作 Vitalik Buterin 的90后小伙子提出来的技术。以太坊和比特币相似&#xff0c;是一个…

大数据数据倾斜

什么是数据倾斜 简单的讲&#xff0c;数据倾斜就是我们在计算数据的时候&#xff0c;数据的分散度不够&#xff0c;导致大量的数据集中到了一台或者几台机器上计算&#xff0c;这些数据的计算速度远远低于平均计算速度&#xff0c;导致整个计算过程过慢。 相信大部分做…

【leetcode75】Intersection of Two Arrays(数组的交集)

题目描述&#xff1a; 给定两个数组求他们的公共部分&#xff0c;输出形式是数组&#xff0c;相同的元素只是输出一次 例如&#xff1a; nums1 [1, 2, 2, 1], nums2 [2, 2], return [2]. 原文描述&#xff1a; Given two arrays, write a function to compute their intersec…

qprocess start怎么判断是否结束_面试结束后,如何判断自己是否有戏?看有无这8大信号!...

关注“职场沉浮宝典”&#xff0c;每天get一个职场小技巧面试结束后&#xff0c;在等待最终结果的过程中&#xff0c;我们常常会惴惴不安&#xff0c;喜欢在脑海里回放全部面试细节&#xff0c;多角度去判断自己通过面试的可能性。毕竟&#xff0c;面试就如同相亲&#xff0c;如…

智能合约语言Solidity 类型介绍

链客&#xff0c;专为开发者而生&#xff0c;有问必答&#xff01; 此文章来自区块链技术社区&#xff0c;未经允许拒绝转载。 智能合约语言Solidity 类型介绍11 Solidity是以太坊智能合约编程语言&#xff0c;阅读本文前&#xff0c;你应该对以太坊、智能合约有所了解&#…

怎样快速学习React

react简单学习路线&#xff08;实用版&#xff09; 学习一门新的技术之前有必要了解一下该技术在专业领域的评价&#xff0c;使用的领域&#xff0c;以及整体的学习路线&#xff0c;总之尽可能多的在入坑之前了解相关方面的信息。不要什么都不去查就直接学了&#xff0c;这个是…

Poj_1274 The Perfect Stall -二分图裸题

题目&#xff1a;给牛找棚&#xff0c;每个棚只能容一只牛&#xff0c;牛在对应的棚才能产奶&#xff0c;问最多能让几只牛产奶。 /************************************************ Author :DarkTong Created Time :2016/7/31 10:51:05 File Name :Poj_1274.cpp…