终于,写到了第7关了,自作孽不可活啊。
开始正题,首先我把题目贴一下。

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

代码注入是将一小段你写出的代码注入到目标进程中并执行它的技巧。

在这一步教程中,你将有一个健康值和一个每按一次将减少 1 点健康值的按钮,

你的任务是利用"代码注入",使你每按一次按钮就增加2点的健康值。

查找这个地址,然后看看是什么在改写它("找出是什么改写了这个地址")。

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

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

也要注意line newmem: 、originalcode: 以及用文本"此处放置你的代码"标示出的空白部分

正如你猜测的, 在这儿可以写下每次增加2点健康值的代码。

在这种情况下推荐你使用 "ADD" 汇编指令,

下面是一些示例:

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

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

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

提示 1:

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

提示 2:

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

这个其实就是需要懂一些汇编语言了,我其实有本专门写这个的书,但是我在前两个周有次回家的时候把它带回去了。导致现在并没有办法研究,不过其实这个还是挺简单的,因为题目给出了这个指令 ADD [00901234],9 这个是增加9,而我们需要加2那么只需要把9换成2然后修改地址即可。

步骤:还是熟悉的配方,先把值给搜索出,然后选择什么改写了这个地址,再点击打我一下,然后选择 显示反汇编程序 会出现代码注入
这个,然后我们选择工具里的自动汇编,点击模板里的代码注入代码注入
我们编辑的代码在newmem: //this is allocated memory, you have read,write,execute
access
//place your code here这里写add [这个地址就是一开始搜索出来的地址],代码注入
然后我们把sub dword ptr [rsi+000007E0],01这一行给删掉,点击执行->确定->是,再点击打我即可增加两滴血,sub dword ptr [rsi+000007E0],01这一个是减少一滴血的指令,修改完后即可通关。

本文作者:博主:     文章标题:Cheat Engine教程7 代码注入
本文地址:https://zjzdmc.top/rcxx/12.html     
版权说明:若无注明,本文皆为“Datehoer的Blog-个人博客-技术分享”原创,转载请保留文章出处。
最后修改:2021 年 04 月 20 日 04 : 13 PM
如果觉得我的文章对你有用,请随意赞赏