宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

宝峰科技 门户 调试工具 Cheat Engine 查看内容
宝塔服务器面板

Cheat Engine Tutorial 闯关笔记 第六关

2010-11-16 15:03| 发布者: admin| 查看: 3847| 评论: 0

摘要: 结合第四关与第五关的教程,可以将数值存储的真正地址找出来,锁定数值或修改游戏中的代码,如果你想制作在任何电脑上都能使用的修改器补丁,那么这两关的学习至少是个前题。 本关的说明解释如下: 步骤 7:代码注 ...

       结合第四关与第五关的教程,可以将数值存储的真正地址找出来,锁定数值或修改游戏中的代码,如果你想制作在任何电脑上都能使用的修改器补丁,那么这两关的学习至少是个前题。

       本关的说明解释如下:

       步骤 7:代码注入 (PW=013370)

       代码注入是将一小段代码注入到目标进程中的技巧,然后使这个进程执行你写入的代码。

       在这一步教程中,你将有一个血值和一个每按一次将减少1点血值的按钮,你的任务是利用 代码注入 ,使得每按一次按钮增加2点的血值。

       开始查找这个地址,然后查看是什么在改写它("查找写入此地址的代码")。

       当你看到那条减少数值的汇编代码已经后,选择 "显示反汇编程序" , 然后打开 自动汇编窗口 (菜单-工具->自动汇编 或 按下快捷键 Ctrl+a ),选择 "模板" 中的 "代码注入" 。CE将自动生成一部分汇编代码并为你输入指令做好准备(如果CE没有给出正确的地址,你可以手工输入它)。

       注意 alloc 这部分代码,它会为你的代码分配出一小块空白的内存,过去,在 Win2000 之前的系统,这种行为存在安全隐患,很可能导致系统崩溃,幸运的是,这种情况在 win2000 以后的操作系统得到改善。

       也要注意 line newmem 这部分代码,原代码,以及用文本 "此处放置你的代码" 标示出的空白部分,正如你猜测的,在这儿可以写下每次增加2点血值的代码。

       推荐你使用 "ADD" 汇编指令,下面是一些示例:

       "ADD [00901234],9" 使 [00901234] 地址的值增加9

        "ADD [ESP+4],9"   使地址指针 [ESP+4] 的值增加9

       在本关的情况下,你可以使用相同的手法去处理 减血值那条原代码方栝号之间的那部分。

       提示:

       推荐你从原代码中删除减血值的那行代码, 否则你得加3点生命值(你增加了3点,原代码减去1点,最终结果才会增加2点),这样看上去很容易让人迷惑,但最终方案还是由你来决定好了。

       提示:

       某些游戏中,原代码可能在多条指令之外,有时候(并非一向如此),它可能由不同的地方跳转至你的指令中并结束运行,其结果可能引起未知的错误;如果出现了这种情况,通常应当查看附近的那些跳转指令,进行修改,或者在尝试使用不同地址进行 代码注入,确认无误后便可以将你修改的代码注入原代码中了。

       本关的教程应当是第四关的补充,在第四关找到代码只是简单的改为空指令,游戏运行到你修改后的指令什么都不会做,比如,按照这样的方法,我们可以制作买东西不需要花钱的,又或是不掉血的修改补丁;这一次,我们深入一点,熟悉更多的汇编指令,如果弄明白,便可以制作出买东西倒找你钱,又或是越战血越多的补丁了。

       这次我们不啰嗦,按着前几关的介绍,查找到数值地址,右键 "查找写入该地址的代码" ,更改血值后,来到下图这一步:

       点击 "显示反汇编" ,打开 "内存查看器" 窗口,如下图:

       在 工具 菜单中选择 "自动汇编 或 按下快捷键 Ctrl+a ",如下图:

       按下图打开 "代码注入" :

       跳出地址填写窗口,如下图:

       点击 确定 ,自动汇编已帮我们创建了一部分的代码,如下图:

       能看懂汇编的,就不用我多解释了,这是一段很简单的代码,CE帮我们先开出了一小块内存用于注入我们自己的代码,然后在原地址处插入跳转语句,跳入我们输入的代码段,执行完毕后再跳转回原代码继续执行后边的代码。

       现在我们要做的就是将加血的代码输入在图中 newmem 的位置,如下图代码所示:

       你可以按照说明中所说的那样,在 newmem 区域,写入 "add [ebx+00000310],3",加3的原因是因为在执行完我们输入的代码后,原代码还要再减去1;当然,你也可以灵活运用我们的知识,直接将原代码改为 "add [ebx+00000310],2",那么在 newmem 区域就不用输写任何代码了,如下图:

       OK,写完代码,可以点击 "执行" 按钮了,弹出确认对话框,直按点击 "是",弹出 注入成功的窗口,并提示我们,新的代码段放置的位置,如下图:

       "确定" ,关闭 "自动汇编" 窗口,在 "内存查看器" 窗口 中的汇编代码部分,可以看到,原代码已被修改,如下图:

       回到 Tutorial.exe 窗口 ,点 "Hit me" ,增加了2点血值,next 按钮也可以点击了,记下第七关的密码(PW=525927),我们休息一下~


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

相关分类

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-12-30 23:50 , File On Powered by Discuz! X3.49

返回顶部