能力值:
( LV2,RANK:10 )
|
-
-
2 楼
学会API HOOK 就行了
|
能力值:
( LV5,RANK:70 )
|
-
-
3 楼
纠正一点,你要获取的不是寄存器.而是堆栈,有可能因为调用Recv的不同而不是用EAX寄存器,所以用EAX寄存器是不可靠的
Recv(SOCKET s,char*buff...);的SOCKET是压入堆栈的.所以是ESP+4
写个HOOK ..
Recv JMP到裸函数然后过滤
void WINAPI GetSocket(SOCKETs)
{
//这就是你要的SOCKET
}
__declspec(naked) void __stdcall RecvEx()
{
__asm{
mov eax,dword ptr [esp+04h]
push esp
push eax
CALL GetSocket
pop esp
;函数原始的代码
mov edi,edi
push ebp
mov ebp,esp
mov eax,Recv;原始函数入口+5
add eax,5
jmp eax
}
}
大概这样.......纯裸眼写,应该不会错
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
去找下inline hook 的资料 ,先接管再转到原先的函数就可以了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
Inline Hook 资料应该很多。 库也很多。
|
|
|