RXJH_我的信息

1、

 

我找到的 存放选中怪ID的基址有3个...:

  Client.exe+2E20B54  ==> 0x400000 + 0x2E20B54 ==> 0x3220B54

  Client.exe+2E257C4  ==> 0x400000 + 0x2E257C4 ==> 0x32257C4

  Client.exe+4236EB0  ==> 0x400000 + 0x4236EB0 ==> 0x4636EB0

  得到当前选中怪对象在数组中的序号的计算方式,也就有3个:(数组序号 计算方式)

    [[0x3220B54]+0x014e4]

    [[0x32257C4]+0x014e4]

    [[0x4636EB0]+0x014e4]

 

[0x3220B58 + 数组序号*4] --> 某一个类型的对象

 

2、怪物对象:

  +0x320 ==> 怪物名字(ANSI)

  +0x31c ==> 怪物与玩家的距离

  +0x5B8 ==> 怪物等级

 

3、选中怪,并显示血值

  对 地址[0x3220B54]+0x014e4 下断(内存写入),选怪时 断在这里(干别的事情都不会断下):

004FE8DA   . /EB 55         JMP SHORT Client.004FE931    // ZC: 上面判断,跳走
004FE8DC   > |8B06          MOV EAX,DWORD PTR DS:[ESI]
004FE8DE   . |8B50 04       MOV EDX,DWORD PTR DS:[EAX+0x4]
004FE8E1   . |6A 01         PUSH 0x1
004FE8E3   . |68 50040000   PUSH 0x450
004FE8E8   . |8BCE          MOV ECX,ESI      // ZC: 猜测,此时 ESI里面方式的是 人物对象地址
004FE8EA   . |FFD2          CALL EDX
004FE8EC   > |8B46 0C       MOV EAX,DWORD PTR DS:[ESI+0xC]
004FE8EF   . |8B0D 540B2203 MOV ECX,DWORD PTR DS:[0x3220B54]
004FE8F5   . |8981 E4140000 MOV DWORD PTR DS:[ECX+0x14E4],EAX  // ZC: 断在这里
004FE8FB   . |EB 34         JMP SHORT Client.004FE931
004FE8FD   > |C785 74D4FFFF>MOV DWORD PTR SS:[EBP-0x2B8C],0xFFFF
004FE907   . |3987 381D0000 CMP DWORD PTR DS:[EDI+0x1D38],EAX
004FE90D   . |74 0F         JE SHORT Client.004FE91E
004FE90F   . |83BF 00150000>CMP DWORD PTR DS:[EDI+0x1500],0x1
004FE916   . |74 06         JE SHORT Client.004FE91E
004FE918   . |8987 00150000 MOV DWORD PTR DS:[EDI+0x1500],EAX
004FE91E   > |8B15 00E6F900 MOV EDX,DWORD PTR DS:[0xF9E600]
004FE924   . |8B82 98020000 MOV EAX,DWORD PTR DS:[EDX+0x298]
004FE92A   . |C680 28020000>MOV BYTE PTR DS:[EAX+0x228],0x0
004FE931   > \803D E7D6FB02>CMP BYTE PTR DS:[0x2FBD6E7],0x0
004FE938   .  8BB5 74D4FFFF MOV ESI,DWORD PTR SS:[EBP-0x2B8C]
004FE93E   .  74 06         JE SHORT Client.004FE946
004FE940   .  89B5 A8FEFFFF MOV DWORD PTR SS:[EBP-0x158],ESI
004FE946   >  81FE FFFF0000 CMP ESI,0xFFFF            // ZC: 判断是否是未选中怪
004FE94C   .  74 47         JE SHORT Client.004FE995      // ZC: 跳走

  ZC: 用CE查找 0x300360E0,找到两个 绿色基址:

    (1)、Client.exe+0x2E25960 ==> 0x3225960

    (2)、Client.exe+0x4236EBC ==> 0x4636EBC

    游戏重选角色,验证一下,应该是对的。(不管是不是 人物的基址,反正是一个基址,找到基址 就好弄多了)

4、

5、

6、

7、

 

posted @ 2016-05-09 08:41  DebugSkill  阅读(337)  评论(0编辑  收藏  举报