- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
04D354FF 68 04010000 push 104
04D35504 50 push eax
04D35505 8D4424 14 lea eax,dword ptr ss:[esp+14]
04D35509 50 push eax
04D3550A E8 11120100 call hw.04D46720
04D3550F A1 3497D305 mov eax,dword ptr ds:[5D39734]
04D35514 83C4 0C add esp,0C
这后面add esp,0c了.我还要在注入器里写add esp,0c吗?
我写与不写,程序都会出错.就像堆栈没平衡那样.
是不是因为我的寄存器传递值写错了?这个是写步过CALL后ECX的值.还是CALL前?
CALL前ecx的值是0.
我甚至把整个CALL前的4个寄存器的值都写了.还是出错.
听人说要去内部看..
进了内部,可惜我不知道怎么看- -
下面是call内部
04D46720 8B4C24 08 mov ecx,dword ptr ss:[esp+8]
04D46724 8B5424 04 mov edx,dword ptr ss:[esp+4]
04D46728 56 push esi
04D46729 8B7424 10 mov esi,dword ptr ss:[esp+10]
04D4672D 85C9 test ecx,ecx
04D4672F 57 push edi
04D46730 74 13 je short hw.04D46745
04D46732 8A01 mov al,byte ptr ds:[ecx]
04D46734 84C0 test al,al
04D46736 74 0D je short hw.04D46745
04D46738 8BFE mov edi,esi
04D4673A 4E dec esi
04D4673B 85FF test edi,edi
04D4673D 74 06 je short hw.04D46745
04D4673F 8802 mov byte ptr ds:[edx],al
04D46741 42 inc edx
04D46742 41 inc ecx
04D46743 ^ 75 ED jnz short hw.04D46732
04D46745 5F pop edi
04D46746 85F6 test esi,esi
04D46748 5E pop esi
04D46749 7E 03 jle short hw.04D4674E
04D4674B C602 00 mov byte ptr ds:[edx],0
04D4674E C3 retn |
|