Filter.h
上传用户:nbcables
上传日期:2007-01-11
资源大小:1243k
文件大小:1k
源码类别:

钩子与API截获

开发平台:

Visual C++

  1. #ifndef _FILTER_H_
  2. #define FILTER_BIND 1
  3. #define FILTER_CONNECT 2
  4. #define FILTER_ACCEPT 3
  5. #define FILTER_SEND 4
  6. #define FILTER_RECV 5
  7. #define FILTER_DNS 6
  8. #define FILTER_SENDTO FILTER_SEND
  9. #define FILTER_RECVFROM FILTER_RECV
  10. #define FILTER_INFO_STEP 100
  11. typedef struct
  12. {
  13. char app[40];
  14. int type;
  15. char ip[16];
  16. int port;
  17. char buf[256];
  18. }FILTER_INFO;
  19. class CSocketFilter
  20. {
  21. public:
  22. CSocketFilter();
  23. ~CSocketFilter();
  24. FILTER_INFO *m_pFilterInfo;
  25. HLOCAL m_hLocal;
  26. int m_nFilterInfoCount;
  27. int FilterConnect(char *ip, int port);
  28. int FilterBind(int port);
  29. int FilterRecv(int sd_connected, char *buf, int len);
  30. int FilterSend(int sd_connected, char *buf, int len);
  31. int FilterAccept(int sd_accepted);
  32. int FilterDNS(char *hostname);
  33. int FilterSendTo(char *ip, int port, char *buf, int len);
  34. int FilterRecvFrom(char *ip, int port, char *buf, int len);
  35. };
  36. #endif