common.h
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:3k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #ifndef _COMMON_H_
  2. #define _COMMON_H_
  3. #include <windows.h>
  4. #include <winsock2.h>
  5. #ifndef NULL
  6. #define NULL ((void *) 0)
  7. #endif
  8. #define XKORE_SERVER_PORT 2350
  9. typedef struct {
  10. char ID;
  11. unsigned short len;
  12. char *data;
  13. } Packet;
  14. Packet *unpackPacket (const char *data, int len, int &next);
  15. typedef int (WINAPI *MyRecvProc) (SOCKET s, char *buf, int len, int flags);
  16. typedef int (WINAPI *MyRecvFromProc) (SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int* fromlen);
  17. typedef int (WINAPI *MySendProc) (SOCKET s, char *buf, int len, int flags);
  18. typedef int (WINAPI *MySendToProc) (SOCKET s, const char* buf, int len, int flags, struct sockaddr* to, int tolen);
  19. typedef int (WINAPI *MyConnectProc) (SOCKET s, const struct sockaddr* name, int namelen);
  20. typedef int (WINAPI *MySelectProc) (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout);
  21. typedef int (WINAPI *MyWSARecvProc) (SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
  22. typedef int (WINAPI *MyWSARecvFromProc) (SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, struct sockaddr* lpFrom, LPINT lpFromlen, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
  23. typedef int (WINAPI *MyWSASendProc) (SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesSent, DWORD dwFlags, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
  24. typedef int (WINAPI *MyWSASendToProc) (SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesSent, DWORD dwFlags, struct sockaddr* lpTo, int iToLen, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
  25. typedef int (WINAPI *MyWSAAsyncSelectProc) (SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent);
  26. typedef FARPROC (WINAPI *MyGetProcAddressProc) (HMODULE hModule, LPCSTR lpProcName);
  27. extern MyRecvProc OriginalRecvProc;
  28. extern MyRecvFromProc OriginalRecvFromProc;
  29. extern MySendProc OriginalSendProc;
  30. extern MySendToProc OriginalSendToProc;
  31. extern MyConnectProc OriginalConnectProc;
  32. extern MySelectProc OriginalSelectProc;
  33. extern MyWSARecvProc OriginalWSARecvProc;
  34. extern MyWSARecvFromProc OriginalWSARecvFromProc;
  35. extern MyWSASendProc OriginalWSASendProc;
  36. extern MyWSASendToProc OriginalWSASendToProc;
  37. extern MyWSAAsyncSelectProc OriginalWSAAsyncSelectProc;
  38. extern MyGetProcAddressProc OriginalGetProcAddressProc;
  39. extern bool enableDebug;
  40. // readSocket() error codes
  41. #define SF_NODATA 0
  42. #define SF_CLOSED -1
  43. SOCKET createSocket (int port);
  44. bool isConnected (SOCKET s);
  45. bool dataWaiting (SOCKET s);
  46. int readSocket (SOCKET s, char *buf, int len);
  47. PROC HookImportedFunction (HMODULE hModule, PSTR FunctionModule, PSTR FunctionName, PROC pfnNewProc);
  48. void debugInit ();
  49. void debug(const char *format, ...);
  50. #endif /* _COMMON_H_ */