网安工具篇:CE修改器详细使用指南(必看)
Posted 2013040528_赵宇鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网安工具篇:CE修改器详细使用指南(必看)相关的知识,希望对你有一定的参考价值。
Cheat Enginee(CE)的详细使用指南
文章目录
1 下载和安装说明
Cheat Engine 简称 CE ,这是一款内存修改编辑工具,可以修改运行在windows/Mac系统上的游戏或者软件的内存数据,所以你将总是赢。它包括16进制编辑,反汇编程序,内存查找工具。CE修改器与同类修改工具相比,它具有强大的反汇编功能,且自身附带了修改器制作工具,可以用它直接生成修改器。
1.1下载地址
下载地址:https://www.onlinedown.net/soft/264631.htm
或者是找一些中文版下载;
我这里自己存了网盘,需要自取。
链接:https://pan.baidu.com/s/1If5HWdRzlEyehn7jfx5KfA
提取码:997p
1.2安装教程
1.2.1网站下载
1.下载安装包,解压文件,然后双击打开文件。
2.接下来一直下一步(next),同意(Accept)许可协议。
3.选择创建桌面快捷图标,安装过程,然后点击完成即可。
1.2.2解压压缩包
1.下载并解压压缩包。
2.打开文件找到Cheat Engine.exe应用程序打开即可。
2 核心功能介绍
2.1内存扫描
内存扫描是Cheat Engine的最主要功能之一,它可以扫描指定数值的内存地址,通过修改这些数值来达到修改游戏数据的目的,从而达到诸如无限生命、时间或弹药等优势。(Ps:只能修改单机游戏。)
2.2 附带的各种工具
附带了各种工具:调试器,反汇编器,汇编器,变速器,作弊器生成,Direct3D操作工具,系统检查工具等。
3 自行学习教程以及Tutorial通关教程
3.1 准备工作
前期安装好后了解基本功能,根据每个人电脑系统版本的不同在下列三个应用程序中自行选择。
打开后结果如下图所示
同时第一次打开还会出现Tutorial窗口,进行使用CheatEgine的教程。
如果之后重新打开只需要找到这两个应用程序选择自己需要的启动即可。
这里面的密码则是各关的跳转指令,可以快速跳转到我们需要练习的关卡。
接下来点击文件下面的绿框按钮,需要选择训练的程序。
3.2 精准值扫描
设置为4字节类型,扫描类型设置为精准数值。
在数值框填写100,然后点击首次扫描进行搜索100。
点击打我,然后再次扫描98。
再次“打我”,显示95。
找到正确的地址,然后左上角的框里面双击地址会到达下面的修改框内。
双击将地址存储在下面的列表中,然后修改数值为1000,过关。
3.3 未知的初始值
查看步骤以及要求
设置为4字节类型,扫描类型为介于0-500之间扫描。
然后点击“打我”,再次扫描减少的数值。
经过多次筛选找到正确地址。
然后修改数据为5000,即可过关。
3.4 浮点数
设置为健康为单浮点,弹药为双浮点,扫描类型为精准数值,都修改为5000的值,即可过关。
这里分单浮点与双浮点搜索(取消快速扫描)。
然后数值类型将4字节换为单浮点。然后进行搜索,然后打我,多次扫描就发现了正确地址,修改为5000。
弹药也使用相同的方法,选择双浮点。
找到正确地址,进行修改。
修改成功,进入下一关。
3.5 代码查找
设置为4字节类型,扫描类型为精准数值。
多次修改找到正确地址,右键目标地址。
选择“找出是什么改写了这个地址”,然后改变数值,查找影响这个地址的源头。
弹出了一个空白框,这个空白框会捕捉接下来对此地址数据做操作的指令,再次改变数值。
点击替换,输入nop(nop指令为空指令,即不做任何修改),点击停止,关闭。
然后再次点击地址,如图勾选“×”号,点击改变数值,就可以进入下一关。
3.6 指针
题目要求利用指针。
首先新的扫描,然后改变数值,再次扫描,此题点击改变数值的按钮时,会触发一个修改数值的汇编指令,找到正确地址后找到“是什么改写了这个地址”,然后修改数值触发指令。
查看通过1个指针,指针 1 指向数值地址,执行此命令,修改数值(此处不理解没关系,可以看看指针相关知识,我们接着往下看)。
双击一行汇编代码(或选择它并点击"详细信息")并打开"详细信息"窗口以显示详细的信息,用来告诉你当这个指令运行时发生了什么事情。
如果在这条汇编指令中没看到方括号([])的存在,我们就应该查看下一条汇编代码的详细信息,如果看到了方括号,那很可能表示我们已经找到了需要的指针。
使用新的扫描,扫描前设置为4字节类型,扫描类型为精确数值,扫描十六位进制数,查到如图结果。
双击搜索的结果添加到列表,然后点击双击此项的地址值,查看详细信息,找到基地址。
下面这个为基地址,即使退出了游戏,基地址的数据也不会发生改变,这才是我们真正要修改数据的地方,接下来在CE里面找到手动添加地址,然后勾选指针。
在新添加的地址前面勾选激活,然后修改数值为5000,在 3s 内确认修改即可,过关。
3.7 代码注入
设置为4字节类型,扫描类型为精准数值。
搜索健康值100,再次“打我”,搜索健康值99,找到这条地址。
右键此条数据,选择找出什么改写了这个地址,再次点击打我,点击显示反汇编程序,之后点击工具,选择自动汇编。
点击模板里面的代码注入,注入后如下图。
详细代码如下。
图中的 sub 指令为减少健康值,01 为减少 1 滴健康值。将 sub 指令修改为下图的 add 指令,数值改为 2,即为增加 2 滴生命,点击执行按钮注入。
点击打我按钮会发现变为增加2滴健康了,过关。
3.8 多级指针
这里和第六关的原理是一样的,只要多次寻找指针。
设置为4字节类型,扫描类型为精准数值。
先找到数值地址。
右键找出是什么改写了这个地址。
在改变数值,捕捉到一个指令,指向了esi,偏移为18。
然后在窗口下面的详细数据中找到esi。
将此地址复制到主页面,然后选择十六进制打勾,搜索出新地址,添加到列表,可能由多个。
通过改变数值去找到正确指针,如下图设置偏移为0。
查找新地址,如图中标注。
列出下一个新地址右键,点击“找出是什么访问了该地址”如下图。
通过改变数值去找到正确指针,如下图设置偏移为14。
通过改变数值去找到正确指针,如下图设置偏移为0C。
最后查找这一项地址,找到真正的地址。
如图所示,即得到正确的地址,接下来手动添加地址,添加偏移量,输入原地址。
切记此处要打"×"。
接下来修改数值为5000,点击改变指针,即可完成进入下一关。
3.9注入++
本关要求如下
首先进行单浮点扫描100,查找到两个地址,经过攻击发现数值都产生了变化。
首先攻击Dave,健康值变化,下拉进行操作,右键“什么改写了这个地址”。
接下来再次攻击出现地址,进行反汇编操作。
找出指定代码,然后进行“找出指令访问的地址”操作。
分别对四个角色进行攻击,然后全选,打开选定地址的分析数据,结果如下图。
经过分析可知,偏移量为4的是健康值,偏移量为10的是阵营,偏移量为15的是姓名。
接下来对这条数据进行修改,工具自动汇编,模板,CT表框架模板,代码注入,如下图。
接下来对如图框选部分进行代码修改。
根据阵营修改为阵营1的所受伤害转移,即可最后获胜。
CE修改器使用教程 [提高篇]
人造指针&人造基址
为什么会出现人造指针 ?
1.基址偏移层数太多,很难找
2.有些游戏根本找不到基址
人造指针有什么优缺点?
1.人造指针就算游戏更新也无需去重复找基址
2.缺点是,需要注入代码,获取钩子
1.打开并附加游戏进程,老样子找到阳光的动态地址,这里我们不去找基址,而是人造一个基址
选择mov eax,[esi+00005560]这一行
显示反汇编程序,选择工具->自动汇编
选择模板->点击CT表框架代码
选择模板->代码注入->点击确定按钮
写入以下汇编代码,意思是取出动态地址,赋值给指定内存地址,这个内存地址先空着
上面窗口不要关闭->在内存浏览器->选择视图->内存区域
在下面找出具有读写权限的空地址,并且属于映像的,(这里不要选择系统领空的资源,注入错了会完犊子的)双击会跳转到指定区域
我们记下这个地址
返回自动汇编框架,然后单击文件->分配到当前的CT表
填入刚才的人造基址 00722000
此时,修改人造基址就等于修改了游戏的参数
注释:alloc(00722000,4)函数(4表示/4字节)可以将一个只读地址转换成可读写地址,一般情况下用不到!
拓展:特征码Hook一个内部Call
CE+X64dbg找Call
以上是关于网安工具篇:CE修改器详细使用指南(必看)的主要内容,如果未能解决你的问题,请参考以下文章