捡物CALL

MOV EDX,[924E0C]
PUSH 4FAA //物品ID
PUSH 0C01014BD //系统ID 每次都在变
MOV ECX,[EDX+20]
ADD ECX,0EC
CALL 00583060
//////////////////////////////////////////
事先在游戏里扔1个物品,
bp send,回到游戏里点1这个物品,OD断下来,复制 返回到 elementc.
 
072AFDB4   005869B2  返回到 elementc.005869B2 来自 elementc.0058E8A0
072AFDC8   00588B1F  返回到 elementc.00588B1F 来自 elementc.00586980
072AFE04   005A6B15  返回到 elementc.005A6B15 来自 elementc.00588A70
072AFE14   005830C0  返回到 elementc.005830C0 来自 elementc.005A6AE0
072AFE34   004650EB  返回到 elementc.004650EB 来自 elementc.00583060//
072AFE48   0045824C  返回到 elementc.0045824C 来自 elementc.00472230
072AFE50   00464EEB  返回到 elementc.00464EEB 来自 elementc.0041E5A0
072AFE54   00464F30  返回到 elementc.00464F30 来自 elementc.00464FD0
072AFE8C   00455F16  返回到 elementc.00455F16
072AFEB0   00431571  返回到 elementc.00431571
072AFEDC   00402B08  返回到 elementc.00402B08
072AFEE0   00430C29  返回到 elementc.00430C29 来自 elementc.004314F0
072AFF10   00586A06  返回到 elementc.00586A06 来自 elementc.00582C50
072AFF24   0042BF76  返回到 elementc.0042BF76 来自 elementc.00430BA0
072AFF4C   0042BD9C  返回到 elementc.0042BD9C 来自 elementc.0042BE70
072AFF5C   0043B595  返回到 elementc.0043B595 来自 elementc.0042BD50
 
前2个地址一定不是,从头开始看特征,ctrl+F9,从第3个返回的地址开始试,
通常第4个第5个就是
004650EB
 
004650D5    8B15 0C4E9200   MOV EDX,DWORD PTR DS:[924E0C]            ; elementc.00925468
004650DB    50              PUSH EAX                                 ; EAX=000021A6 此时捡的物品是 大瓶活血散
004650DC    51              PUSH ECX                                 ; ECX=C01011E5
004650DD    8B4A 20         MOV ECX,DWORD PTR DS:[EDX+20]
004650E0    81C1 EC000000   ADD ECX,0EC
004650E6    E8 75DF1100     CALL elementc.00583060
给2个参数处下个断点
 
 
测试找到的CALL是否正确
MOV EDX,[924E0C]  
PUSH 000021A6                  
PUSH 0C01011E5                  
MOV ECX,[EDX+20]
ADD ECX,0EC
CALL 00583060
 
提示:EDI+110,ESI+20,这2个参数是可以通过遍历工具找到的
找到距离,名称,坐标,地面可显示的最大数组
{用手点和快捷方式捡物是一样的}
 





posted @ 2012-05-30 10:53  XE2011  阅读(480)  评论(0编辑  收藏  举报