用OD通过bp send,已经找到卖物品的CALL,详细汇编代码如下:
00432CB9 |. C685 18FAFFFF>MOV BYTE PTR SS:[EBP-5E8],0
堆栈 SS:[0012CB08]=34 ('4')
此处中断时,EBP=0012D0F0
00432CC0 |. 8B85 90F8FFFF MOV EAX,DWORD PTR SS:[EBP-770]
00432CC6 |. 8B88 F00C0000 MOV ECX,DWORD PTR DS:[EAX+CF0]
00432CCC |. 898D 10FAFFFF MOV DWORD PTR SS:[EBP-5F0],ECX
ECX=00000003
堆栈 SS:[0012CB00]=0669F808, (ASCII "spr/effect\item\item_002.spr")
00432CD2 |. 8B95 90F8FFFF MOV EDX,DWORD PTR SS:[EBP-770]
00432CD8 |. 8B82 F40C0000 MOV EAX,DWORD PTR DS:[EDX+CF4]
00432CDE |. 8985 14FAFFFF MOV DWORD PTR SS:[EBP-5EC],EAX
EAX=00000002
堆栈 SS:[0012CB04]=0000001C
00432CE4 |. C785 0CFAFFFF>MOV DWORD PTR SS:[EBP-5F4],1
堆栈 SS:[0012CAFC]=0673DA18
00432CEE |. 6A 14 PUSH 14 ; /Arg2 = 00000014
00432CF0 |. 8D8D 08FAFFFF LEA ECX,DWORD PTR SS:[EBP-5F8]
堆栈地址=0012CAF8
ECX=00000003
00432CF6 |. 51 PUSH ECX ; | Arg1 = 0012CAF8
00432CF7 |. E8 14CE0F00 CALL x00.0052FB10 ; \x00.0052FB10
编写成代码注入器(codeInj_jks.exe)的代码如下:
MOV EBP,0012D0F0
MOV ECX,0
MOV [EBP-5E8],ECX
MOV EDX,3
MOV [EBP-5F0],EDX
MOV EAX,2
MOV [EBP-5EC],EAX
MOV EDX,1
MOV [EBP-5F4],EDX
PUSH 14
PUSH 0012CAF8
CALL 0052FB10
附加游戏后,运行:“远程注入代码”,为何游戏出错退出?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)