吃药CALL

/*
1 吃大瓶活血散CALL
 2  把大瓶活血散放在包裹的第1格子上
*/
PUSH 1
PUSH 000021A6
PUSH 0                
PUSH 0
MOV EBX,[924E0C]
MOV EBX,[EBX+20]
LEA ECX,[EBX+0EC]
CALL 00582E70
 
/////////////////////////////////////////
事先在游戏里,把药水放在包裹的第1格子上,
bp send,回到游戏里点,右键使用这个物品,OD断下来,复制 返回到 elementc.
 
0012EB78   005869B2  返回到 elementc.005869B2 来自 elementc.0058E8A0
0012EB8C   00588B1F  返回到 elementc.00588B1F 来自 elementc.00586980
0012EBC8   005A6B66  返回到 elementc.005A6B66 来自 elementc.00588A70
0012EBD8   00582ED2  返回到 elementc.00582ED2 来自 elementc.005A6B20
0012EC0C   00455683  返回到 elementc.00455683 来自 elementc.00582E70/////
前2个地址一定不是,从头开始看特征,ctrl+F9,从第3个返回的地址开始试,
通常第4个第5个就是
00455672    6A 01           PUSH 1
00455674    52              PUSH EDX                                 ; EDX=000021A6 此时使用的红为 大瓶活血散
00455675    50              PUSH EAX                                 ; EAX=00000000 此时红在包裹的第1个格子上
00455676    6A 00           PUSH 0
00455678    8D8B EC000000   LEA ECX,DWORD PTR DS:[EBX+EC]            ; 地址=048A4CDC=dd [[924E0C]+20]+0EC, ecx=00000000
给带参数处下个断点,看参数是什么
 
测试找到的CALL是否正确
PUSH 1
PUSH 21A6
PUSH 0
PUSH 0
MOV EBX,[924E0C]
MOV EBX,[EBX+20]
LEA ECX,[EBX+0EC]
CALL 00582E70
{
使用药品
使用武器______
}

[ 注意,[EBX+0EC]的源头是如何追踪的]

还有上面的EDX,EAX





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