人物角色对象的一级基址

上一节课我们自己写了段代码,了解基址+偏移 内存读写方式。在这一节课我们将一起来找《武林外传》这个游戏的,人物角色对象的一级基址;

      

 HW :硬件写入

 HW 04F3303C //写入 内存地址时 断下来

 HD 04F3303C //删除硬件断点

 esi=04F32DE0

 找ESI值的来源

 mov esi,ecx;  相当于高级语言的 esi:=ecx;

 找ECX值的来源

 HR 04F3303C //读取 内存地址时 断下来

 4546AA 向上回溯

                 

dd [[05F10490+14]+1c ]+25c

dd [[[[ecx+24]+918]+14]+1c ]+25c

dd [[[[[95E800+1c]+24]+918]+14]+1c]+25c

 

 

 1、分析角色属性。2、API断点send。3、找打坐CALL。

      教学重点:

      1、会用API断点send回溯找打坐CALL。

      

  上一节课我们找到了,游戏的一级基址是:95E800 ;

  接下来我们对角色的的常用属性进行一下偏移分析;

  血值,魔力值,坐标

 dd [[[[[95E800+1c]+24]+918]+14]+1c ] //角色对象基址

 +3C  //当前坐标 x,h,y

 +7C  //当前坐标 X,h,y 

 +25c //当前血值

 +260 //当前魔力值

 +274 //血值上限

 +278 //魔力值上限

 +28c //防御

 

 send //发送数据API函数

 bp send

 

 隐性参数ECX传递对象的基址

 ecx=4E54F68

 

push 1

call 452b20

//正确的打坐CALL

push 1

mov ecx,051352d0  // [[[[[95E800+1c]+24]+918]+14]+1c ]

call 452b20

  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蚂蚁_CrkRes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值