/*
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