首页
社区
课程
招聘
[原创]另类挂钩-RING3数据包监视
发表于: 2009-2-1 15:20 182572

[原创]另类挂钩-RING3数据包监视

2009-2-1 15:20
182572
收藏
免费 8
支持
分享
最新回复 (178)
雪    币: 134
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
176
不错  好好研究一下
2012-5-31 21:10
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
177
学习一下,看看。
2012-6-4 23:45
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
178
这个方式在非net平台可以完美使用,但是如何程序是用.net编写的,并且发送数据时,用的是数据流的write方式,那么这个dll一点用也没有。请教楼主。
下面就是问题所在。
http://bbs.pediy.com/showthread.php?t=159820
2012-12-14 09:43
0
雪    币: 38
活跃值: (798)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
179
typedef struct _AFD_WSABUF {
    UINT  len;
    PCHAR buf;
} AFD_WSABUF, *PAFD_WSABUF;

typedef struct _AFD_CREATE_PACKET {
    DWORD				EndpointFlags;
    DWORD				GroupID;
    DWORD				SizeOfTransportName;
    WCHAR				TransportName[1];
} AFD_CREATE_PACKET, *PAFD_CREATE_PACKET;

typedef struct _AFD_INFO {
    ULONG			        InformationClass;
    union {
        ULONG			        Ulong;
        LARGE_INTEGER	                LargeInteger;
        BOOLEAN                         Boolean;
    }					Information;
    ULONG				Padding;
} AFD_INFO, *PAFD_INFO;

typedef struct _AFD_BIND_DATA {
    ULONG				ShareType;
#if 1
    SOCKADDR    	                Address;
#else
    TRANSPORT_ADDRESS	                Address;
#endif
} AFD_BIND_DATA, *PAFD_BIND_DATA;

typedef struct _AFD_LISTEN_DATA {
    BOOLEAN				UseSAN;
    ULONG				Backlog;
    BOOLEAN				UseDelayedAcceptance;
} AFD_LISTEN_DATA, *PAFD_LISTEN_DATA;

typedef struct _AFD_HANDLE_ {
    SOCKET				Handle;
    ULONG				Events;
    NTSTATUS			        Status;
} AFD_HANDLE, *PAFD_HANDLE;

typedef struct _AFD_POLL_INFO {
    LARGE_INTEGER		        Timeout;
    ULONG				HandleCount;
    BOOLEAN                             Exclusive;
    AFD_HANDLE			        Handles[1];
} AFD_POLL_INFO, *PAFD_POLL_INFO;

typedef struct _AFD_ACCEPT_DATA {
    BOOLEAN				UseSAN;
    ULONG				SequenceNumber;
    HANDLE				ListenHandle;
} AFD_ACCEPT_DATA, *PAFD_ACCEPT_DATA;

typedef struct _AFD_RECEIVED_ACCEPT_DATA {
    ULONG				SequenceNumber;
    TRANSPORT_ADDRESS			Address;
} AFD_RECEIVED_ACCEPT_DATA, *PAFD_RECEIVED_ACCEPT_DATA;

typedef struct _AFD_PENDING_ACCEPT_DATA {
    ULONG				SequenceNumber;
    ULONG				SizeOfData;
    ULONG				ReturnSize;
} AFD_PENDING_ACCEPT_DATA, *PAFD_PENDING_ACCEPT_DATA;

typedef struct _AFD_DEFER_ACCEPT_DATA {
    ULONG				SequenceNumber;
    BOOLEAN				RejectConnection;
} AFD_DEFER_ACCEPT_DATA, *PAFD_DEFER_ACCEPT_DATA;

typedef struct  _AFD_RECV_INFO {
    PAFD_WSABUF				BufferArray;
    ULONG				BufferCount;
    ULONG				AfdFlags;
    ULONG				TdiFlags;
} AFD_RECV_INFO , *PAFD_RECV_INFO ;

typedef struct _AFD_RECV_INFO_UDP {
    PAFD_WSABUF				BufferArray;
    ULONG				BufferCount;
    ULONG				AfdFlags;
    ULONG				TdiFlags;
    PVOID				Address;
    PINT				AddressLength;
} AFD_RECV_INFO_UDP, *PAFD_RECV_INFO_UDP;

typedef struct  _AFD_SEND_INFO {
    PAFD_WSABUF				BufferArray;
    ULONG				BufferCount;
    ULONG				AfdFlags;
    ULONG				TdiFlags;
} AFD_SEND_INFO , *PAFD_SEND_INFO ;

typedef struct _AFD_SEND_INFO_UDP {
    PAFD_WSABUF				BufferArray;
    ULONG				BufferCount;
    ULONG				AfdFlags;
#if 1
    ULONG				UnknownGap[9];
    ULONG				SizeOfRemoteAddress;
    PVOID				RemoteAddress;
#else
    TDI_REQUEST_SEND_DATAGRAM		TdiRequest;
    TDI_CONNECTION_INFORMATION		TdiConnection;
#endif
} AFD_SEND_INFO_UDP, *PAFD_SEND_INFO_UDP;

typedef struct  _AFD_CONNECT_INFO {
    BOOLEAN				UseSAN;
    ULONG				Root;
    ULONG				Unknown;
#if 1
    SOCKADDR    	                RemoteAddress;
#else
    TRANSPORT_ADDRESS			RemoteAddress;
#endif
} AFD_CONNECT_INFO , *PAFD_CONNECT_INFO ;

typedef struct _AFD_EVENT_SELECT_INFO {
    HANDLE				EventObject;
    ULONG				Events;
} AFD_EVENT_SELECT_INFO, *PAFD_EVENT_SELECT_INFO;

typedef struct _AFD_ENUM_NETWORK_EVENTS_INFO {
    HANDLE Event;
    ULONG PollEvents;
    NTSTATUS EventStatus[AFD_MAX_EVENTS];
} AFD_ENUM_NETWORK_EVENTS_INFO, *PAFD_ENUM_NETWORK_EVENTS_INFO;

typedef struct _AFD_DISCONNECT_INFO {
    ULONG				DisconnectType;
    LARGE_INTEGER			Timeout;
} AFD_DISCONNECT_INFO, *PAFD_DISCONNECT_INFO;

typedef struct _AFD_VALIDATE_GROUP_DATA
{
    LONG GroupId;
    TRANSPORT_ADDRESS Address;
} AFD_VALIDATE_GROUP_DATA, *PAFD_VALIDATE_GROUP_DATA;

typedef struct _AFD_TDI_HANDLE_DATA
{
    HANDLE TdiAddressHandle;
    HANDLE TdiConnectionHandle;
} AFD_TDI_HANDLE_DATA, *PAFD_TDI_HANDLE_DATA;

2020-1-3 19:26
0
游客
登录 | 注册 方可回帖
返回
//