内核态fs寄存器指向结构KPCR,方便反汇编

 

typedef struct _KPCR {

KPCR_TIB Tib; /* 00 */

struct _KPCR *Self; /* 1C */

struct _KPRCB *Prcb; /* 20 */

KIRQL Irql; /* 24 */

ULONG IRR; /* 28 */

ULONG IrrActive; /* 2C */

ULONG IDR; /* 30 */

PVOID KdVersionBlock; /* 34 */

PUSHORT IDT; /* 38 */

PUSHORT GDT; /* 3C */

struct _KTSS *TSS; /* 40 */

USHORT MajorVersion; /* 44 */

USHORT MinorVersion; /* 46 */

KAFFINITY SetMember; /* 48 */

ULONG StallScaleFactor; /* 4C */

UCHAR DebugActive; /* 50 */

UCHAR ProcessorNumber; /* 51 */

UCHAR Reserved; /* 52 */

UCHAR L2CacheAssociativity; /* 53 */

ULONG VdmAlert; /* 54 */

ULONG KernelReserved[14]; /* 58 */

ULONG L2CacheSize; /* 90 */

ULONG HalReserved[16]; /* 94 */

ULONG InterruptMode; /* D4 */

UCHAR KernelReserved2[0x48]; /* D8 */

KPRCB PrcbData; /* 120 */

} KPCR, *PKPCR;

 

typedef struct _KTSS {

USHORT Backlink;      

USHORT Reserved0;

ULONG Esp0;

USHORT Ss0;

USHORT Reserved1;

ULONG NotUsed1[4];

ULONG CR3;

ULONG Eip;

ULONG EFlags;

ULONG Eax;

ULONG Ecx;

ULONG Edx;

ULONG Ebx;

ULONG Esp;

ULONG Ebp;

ULONG Esi;

ULONG Edi;

USHORT Es;

USHORT Reserved2;

USHORT Cs;

USHORT Reserved3;

USHORT Ss;

USHORT Reserved4;

USHORT Ds;

USHORT Reserved5;

USHORT Fs;

USHORT Reserved6;

USHORT Gs;

USHORT Reserved7;

USHORT LDT;

USHORT Reserved8;

USHORT Flags;

USHORT IoMapBase;

KIIO_ACCESS_MAP IoMaps[IOPM_COUNT];

//

// This is the Software interrupt direction bitmap associated with

// IO_ACCESS_MAP_NONE

//

KINT_DIRECTION_MAP IntDirectionMap;

} KTSS, *PKTSS;

nt!_KTSS
   +0x000 Backlink         : Uint2B
   +0x002 Reserved0        : Uint2B
   +0x004 Esp0             : Uint4B
   +0x008 Ss0              : Uint2B
   +0x00a Reserved1        : Uint2B
   +0x00c NotUsed1         : [4] Uint4B
   +0x01c CR3              : Uint4B
   +0x020 Eip              : Uint4B
   +0x024 EFlags           : Uint4B
   +0x028 Eax              : Uint4B
   +0x02c Ecx              : Uint4B
   +0x030 Edx              : Uint4B
   +0x034 Ebx              : Uint4B
   +0x038 Esp              : Uint4B
   +0x03c Ebp              : Uint4B
   +0x040 Esi              : Uint4B
   +0x044 Edi              : Uint4B
   +0x048 Es               : Uint2B
   +0x04a Reserved2        : Uint2B
   +0x04c Cs               : Uint2B
   +0x04e Reserved3        : Uint2B
   +0x050 Ss               : Uint2B
   +0x052 Reserved4        : Uint2B
   +0x054 Ds               : Uint2B
   +0x056 Reserved5        : Uint2B
   +0x058 Fs               : Uint2B
   +0x05a Reserved6        : Uint2B
   +0x05c Gs               : Uint2B
   +0x05e Reserved7        : Uint2B
   +0x060 LDT              : Uint2B
   +0x062 Reserved8        : Uint2B
   +0x064 Flags            : Uint2B
   +0x066 IoMapBase        : Uint2B
   +0x068 IoMaps           : [1] _KiIoAccessMap
   +0x208c IntDirectionMap  : [32] UChar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值