Guest User

Untitled

a guest
Jul 20th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. int proxyWSARecv(int unused, SOCKET s, LPWSABUF recvBuffer, DWORD bufferCount, LPDWORD bytesRecvd, LPDWORD flags,
  2. LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine){
  3.  
  4.  
  5. WSAOVERLAPPED wsaoverlapped;
  6. LPWSAOVERLAPPED ourOverlapped = &wsaoverlapped;
  7. WSADATA wsaData;
  8. int rc = WSAStartup(MAKEWORD(2, 2), &wsaData);
  9.  
  10. int retnVal;
  11.  
  12. __asm{
  13. push lpCompletionRoutine
  14. push ourOverlapped // our replacement lpoverlapped
  15. push flags
  16. push bytesRecvd
  17. push bufferCount
  18. push recvBuffer
  19. push s
  20. call p_WSARecv // real WSARecv
  21. mov retnVal, EAX
  22. }
  23.  
  24. // get overlapped results and log packets here. etc
  25. }
Add Comment
Please, Sign In to add comment