• CE修改器入门:运用代码注入


    从本关开始,各位会初步接触到CE的反汇编功能,这也是CE最强大的功能之一。在第6关的时候我们说到指针的找法,用基址定位动态地址。但这一关不用指针也可以进行修改,即使对方是动态地址,且功能更加强大。

    代码注入是将一小段你写出的代码注入到目标进程中并执行它的技巧。在这一步教程中,你将有一个健康值和一个每按一次将减少 1 点健康值的按钮,你的任务是利用"代码注入",使每按一次按钮增加2点的健康值。

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

    教程中每按一次按钮,会自动减少1点血,你的任务是将其改成每按一次按钮增加2点血。
    还记得第5关的不伤血的修改方法吗?这一关就是第5关的加强版。
    推荐你从原代码中删除减少健康值的那行代码,否则你得加 3 点健康值。

    老样子,根据动态数据反复查找,查找血量的地址,然后再地址上 右键=> 查找写入的地址,为啥不是查找访问的地址呢?这里不需要明白,照着做就可以了

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NGl9NNoh-1658046717591)(https://cdn.lyshark.com/picture/1379525-20190502120959755-1947945090.png)]

    然后按一下打我按钮,会出现一行汇编代码 0042585D - 83 AB 78040000 01 - sub dword ptr [ebx+00000478],01 <<

    这条指令的作用是,将[ebx+678]地址中的数据减1,sub为减法的汇编格式。

    picture

    双击那行代码,看下详细信息:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BMLA6Xlp-1658046717592)(https://cdn.lyshark.com/picture/1379525-20190502121422093-340547719.png)]

    这行代码什么意思呢?sub 大家都知道是减少的意思

    图示红框处:EBX=0184D5E0,我们用计算器算一下(注意是16进制的)

    picture

    184D5E0+ 478 = 184DA58 —> 正好是血量的动态地址

    sub [ebx+00000478] = sub [184DA58] 够清楚了吧,这就是让血量减1的代码(1省略了),其实CE中也有提示 Decrement by 1 。

    明白了这行代码的意思,我们回去看看Tutorial的要求:把减1改成加2。

    继续操作。选择反汇编程序,如下步骤

    picture

    点击工具,选择自动汇编

    picture

    第一步:选择CT表框架代码

    picture

    第二步:选择代码注入

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZImj92m-1658046717596)(https://cdn.lyshark.com/picture/1379525-20190502122433284-1579025719.png)]

    对应的地址不要搞错了,是"Tutorial-i386.exe"+2585D,这里不需要动,保持默认就可以

    picture

    然后按确定,会自动生成汇编代码,这些代码是什么意思,我们不用管,找到关键的一行:sub dword ptr [ebx+00000478],01

    picture

    将原来的sub dword ptr [ebx+00000478],01,改成 add dword ptr [ebx+00000478],02,每次递增2

    picture

    然后在地址栏就可以看到这个脚本了,点击前面的 单选框 执行,然后点击Tutorial中的打我,这关就可以过了。

    picture

    你感觉到他的神奇了吗?逆天级的修改:

    1、怪物每次打我从伤血变成加血。
    2、子弹越打越多。
    3、钱越花越多。

    如果你学会了这一关,你已经脱离菜鸟的行列了,已经可以对付绝大部分的游戏了。

  • 相关阅读:
    23.Spring Cloud + Spring Boot + Mybatis + Uniapp分布式、微服务、云架构企业快速开发架构之Shell 函数
    基因组学复习题
    「面经分享」西北大学 | 字节 生活服务 | 一面二面三面 HR 面
    1003 我要通过!
    什么是突发性耳聋?
    Java编程技巧:if-else优化实践总结归纳
    初识Java
    独自一人开发一整套 ERP 系统是什么水平?
    【Ray】ray.remote和option
    【Java并发编程二】线程的基本知识
  • 原文地址:https://blog.csdn.net/lyshark_csdn/article/details/125833426