Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int proxyWSARecv(int unused, SOCKET s, LPWSABUF recvBuffer, DWORD bufferCount, LPDWORD bytesRecvd, LPDWORD flags,
- LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine){
- WSAOVERLAPPED wsaoverlapped;
- LPWSAOVERLAPPED ourOverlapped = &wsaoverlapped;
- WSADATA wsaData;
- int rc = WSAStartup(MAKEWORD(2, 2), &wsaData);
- int retnVal;
- __asm{
- push lpCompletionRoutine
- push ourOverlapped // our replacement lpoverlapped
- push flags
- push bytesRecvd
- push bufferCount
- push recvBuffer
- push s
- call p_WSARecv // real WSARecv
- mov retnVal, EAX
- }
- // get overlapped results and log packets here. etc
- }
Add Comment
Please, Sign In to add comment