本节课中我们要对怪物列表以及怪物列表属性进行分析
首先我们选中一只怪,然后攻击怪物改变血量来找到怪物血量的地址,然后通过它找到怪物列表的基址
t通过ce中的跟随访问了这个地址的代码,得到如下地址
可能的基址316B6208
+5b4 怪物血量
dc [45fb988 + 4*7]+320
+314 是否活着 活着为1
+5B4 血量
+5b8 怪物等级
+1018 X
+1020 Y
+1024 X
+102c Y
//基址的内存单元代码
007F13DE FFD0 CALL EAX
007F13E0 83F8 01 CMP EAX,0x1
007F13E3 7F 16 JG SHORT Client.007F13FB
007F13E5 A1 A8F21E03 MOV EAX,DWORD PTR DS:[0x31
首先我们选中一只怪,然后攻击怪物改变血量来找到怪物血量的地址,然后通过它找到怪物列表的基址
t通过ce中的跟随访问了这个地址的代码,得到如下地址
可能的基址316B6208
+5b4 怪物血量
316B6200
+5bc 怪物血量
再将这两个地址在ce中搜索就可以得到他的基址
然后在OD中通过dd 来查看基址中的数据,再通过下硬件访问断点就可以得到如下的基址:
45fb98c
通过查看基址中的数据可以得到如下的分析:
dc [45fb98c + 4*0]+320 //名字
007F13EC 890C85 88B95F04 MOV DWORD PTR DS:[EAX*4+0x45FB988],ECXdc [45fb988 + 4*7]+320
+314 是否活着 活着为1
+5B4 血量
+5b8 怪物等级
+1018 X
+1020 Y
+1024 X
+102c Y
//基址的内存单元代码
007F13DE FFD0 CALL EAX
007F13E0 83F8 01 CMP EAX,0x1
007F13E3 7F 16 JG SHORT Client.007F13FB
007F13E5 A1 A8F21E03 MOV EAX,DWORD PTR DS:[0x31