步骤 9: 注入++: (密码=31337157)
我们在这一步做的基本上和步骤 7(代码注入) 一样,但现在会有一点地方非常困难.现在你必须使用一段代码编辑减少血量的代码并设置血量到1000(如果当前值大于等于30并小于2000)这可以做成用 api 调用一些子程序来获取当前时间的自动汇编脚本,它可以较早的使用 C脚本注入这里找到血量的地址并转到 CE 脚本引擎 (内存查看器 ctrl+alt+a , 工具->脚本引擎)此时会有一个很大的提示反对到其它教程(万一你不会C语言)
----------------
#include <time.h>
struct tm *timep;
time_t c;
c=time(0);
timep=localtime(&c);
if (timep->tm_sec>=30)
*(int *)addresstochange=1000;
else
*(int *)addresstochange=2000;
-------------
此处使用血量的地址改编 addresstochange.不要忘记在前面加 0x.如果地址是0012345,则输入0x0012345
选择注入->注入到当前进程并使用里面的一个 CALL 打开一个自动汇编脚本.现在正好和步骤7那样转到减少血量的地址并选择 自动汇编->模板->代码注入. 并输入你获取的代码调用指令. 需要注意的是此次调用将更改 EAX 的值,因此你要在压栈之前和出栈之后保存它们, 并且移除原始代码。它未被使用或只会增加困难。
点击执行后点击 TUT 的 "打我" 按钮 .如果按钮的点击都正确会促成脚本运行并符合当前时间改变血值。
额外信息:
正如前面所说,它可以使用一个标准的汇编脚本来完成。为了以后容易辨认 CE 允许你输入调用指令的功能名称。你也可以只用一个脚本对应使用一个DLL注入。例如:
injectdll(mydll.dll) //dll 写入你需要的术语
codecave:
call functionofmydll
jmp exit
--------------------------------------------------------------------------------------------------------------------------
额,大家好.不好意思哈昨天回老家了第八章今天才写.额,最近东北挺多雨的,我这里随时都有可能发大水停电.不过我不会懒惰.我会继续写东西给大家看.
好啦开始我们今天的章节吧.今天来讲CE教程工具的最后一章《注入++》额,总的来说操作起来不算太难啦。只不过涉及到了C语言可能会有朋友不懂,不过没关系。作者已经给了我们一个代码原型,我们照着修改一下就OK了。好教程开始吧。
1.教程工具给了我们一个数值,我们要把它用代码注入的方式使脚本运行并符合当前时间改变血值。第一步跟前几章一样找到数值的内存地址。
2.在地址上右键单击选择“查找写入该地址的代码”。