-
-
[求助]如何通过PNDIS_PACKET结构定位TCP头?
-
发表于:
2012-5-21 11:47
5121
-
[求助]如何通过PNDIS_PACKET结构定位TCP头?
如题。
对NDIS包的结构不是很熟悉。
PNDIS_PACKET:
typedef struct _NDIS_PACKET {
[COLOR="Sienna"]NDIS_PACKET_PRIVATE[/COLOR] [I]Private[/I];
__MINGW_EXTENSION union {
__MINGW_EXTENSION struct {
UCHAR MiniportReserved[2 * sizeof(PVOID)];
UCHAR WrapperReserved[2 * sizeof(PVOID)];
};
__MINGW_EXTENSION struct {
UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
UCHAR WrapperReservedEx[sizeof(PVOID)];
};
__MINGW_EXTENSION struct {
UCHAR MacReserved[4 * sizeof(PVOID)];
};
};
ULONG_PTR Reserved[2];
UCHAR ProtocolReserved[1];
} NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
NDIS_PACKET_PRIVATE :
typedef struct _NDIS_PACKET_PRIVATE {
UINT PhysicalCount;
UINT TotalLength;
PNDIS_BUFFER Head;
PNDIS_BUFFER Tail;
PNDIS_PACKET_POOL Pool;
UINT Count;
ULONG Flags;
BOOLEAN ValidCounts;
UCHAR NdisPacketFlags;
USHORT NdisPacketOobOffset;
} NDIS_PACKET_PRIVATE, *PNDIS_PACKET_PRIVATE;
取得IP头的代码:
#define IP_OFFSET 0x0e
PIP_HEADER pIPHeader = (PIP_HEADER)(pPacketContent + IP_OFFSET);
是不是也有TCP_OFFSET的?偏移量是多少呢?或者其他方式进行获取?望大侠赐教,不胜感激!
[课程]FART 脱壳王!加量不加价!FART作者讲授!