人物角色对象的一级基址

    xiaoxiao2025-01-27  11

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

          

     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

      

    转载请注明原文地址: https://ju.6miu.com/read-1295830.html
    最新回复(0)