CE 第9关

CE学习到第9关,这里记录下通关方法和思路

1:先分析出代码结构

2:再进行代码注入。


分析的方法是:

1:先找到玩家1,玩家2,玩家3,玩家4的健康值的位置,具体方法相信在前几关已经学会了。

 2:任选一个,我这里选择的是角色4。

2.1 右键->找出是什么改写了这个地址 ,然后在游戏界面攻击角色4.

2.2  回到CE界面(图(2.1)),选中指令,然后点击右边的显示反汇编程序。然后会有弹窗如图(2.2)。 

2.3 在弹窗后,选中指令,右键->找出指令访问的地址。回到游戏界面,分别点击攻击角色1,角色2,角色3和角色4,会出现图(2.3)

2.4 全选所有的指令,然后右键->打开选中地址的分析数据,出现结构进行分析。我们可以看到

偏移8是健康值,偏移14是类别,偏移19是名称。偏移14可选值为1或者2。

图(2.1)

 图(2.2)

 

 图(2.3)

 图(2.4)

 

 图(2.5)

 图(2.6)

 

  图(2.7)

   图(2.8)

    图(2.9)

第二步,代码注入


1: 先在内存器查看窗口,点选工具->自动汇编

2:在新弹窗中选择模板->代码注入

3:在新弹窗中,先判断是否是队友,然后进行不同的跳转,代码修改完毕后点击注入。具体代码在下方。

4:验证,点击重新启动游戏并验证,可看到效果。

 

 

 

 

 具体代码,可以复制

alloc(newmem,2048,"Tutorial-x86_64.exe"+2F25D)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

cmp [rbx+14],1 //判断是否是玩家
jne originalcode //不是玩家,直接跳转到原代码执行
jmp exit //是玩家,调到exit处,不对玩家血量进行修改

originalcode:
movss [rbx+08],xmm0

exit:
jmp returnhere

"Tutorial-x86_64.exe"+2F25D:
jmp newmem
returnhere:

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值