//
轉移KdSendPacket和KdReceivePacket相關的信息記錄
typedef struct _CODE_SIGN_KD
{
UCHAR szFunSig[30];
//
函數特徵碼
ULONG ulSigLen;
//
特徵碼長度
ULONG ulOffset;
//
關鍵指令相對特徵碼的偏移
PCHAR pFunName;
//
函數名稱
} CODE_SIGN_KD;
//
需要轉移的KdSendPacket相關的函數信息
CODE_SIGN_KD gKdSendPacketInfo_win7[]={
{{0x6A, 0x02, 0xC7, 0x45, 0xC0, 0x46, 0x31, 0, 0, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0xE9,
'?'
,
'?'
,
'?'
,
'?'
, 0x6A, 0x38}, 21, 9,
"1.KdpSendWaitContinue"
},
{{0x50, 0x56, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0xE9,
'?'
,
'?'
,
'?'
,
'?'
, 0x53}, 13, 2,
"2.KdpSendWaitContinue"
},
{{0xFF, 0x75, 0x98, 0x6A, 0x07, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x80, 0x3D,
'?'
,
'?'
,
'?'
,
'?'
, 0x00, 0x0F, 0x84, 0x66, 0xF9, 0xFF, 0xFF}, 23, 5,
"3.KdpSendWaitContinue"
},
{{0x66, 0x89, 0x74, 0x24, 0x20, 0x89, 0x7C, 0x24, 0x24, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5F}, 20, 9,
"4.KdpPrintString"
},
{{0x51, 0x8D, 0x45, 0xF8, 0x50, 0x6A, 0x02, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5F, 0x5E}, 14, 7,
"5.KdGetInternalBreakpoint"
},
{{0x53, 0x8D, 0x45, 0xF4, 0x50, 0x6A, 0x02, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5F, 0x5E}, 14, 7,
"6.KdpGetContext"
},
{{0x50, 0x6A, 0x02, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5B, 0xC9}, 10, 3,
"7.KdpSetContext"
},
{{0x50, 0x6A, 0x02, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0xC9, 0xC3}, 10, 3,
"8.KdpReadPhysicalMemory"
},
{{0x50, 0x6A, 0x02, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x8B, 0x46, 0x14, 0xEB, 0x1B}, 13, 3,
"9.KdpWriteBreakPointEx"
},
{{0x6A, 0x02, 0xC7, 0x46, 0x08, 0x01, 0x00, 0x00, 0xC0, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x8B, 0x46, 0x08, 0x5F}, 18, 9,
"10.KdpWriteBreakPointEx"
},
{{0x50, 0x6A, 0x02, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5F, 0x5B}, 10, 3,
"11.KdpRestoreBreakPointEx"
},
{{0x6A, 0x02, 0x89, 0x7D, 0xD0, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5E, 0x5B}, 12, 5,
"12.KdpSearchMemory"
},
{{0x89, 0x4E, 0x08, 0x89, 0x75, 0xDC, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5F, 0x5B}, 13, 6,
"13.KdpFillMemory"
},
{{0x89, 0x4C, 0x24, 0x24, 0x89, 0x74, 0x24, 0x1C, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x5E, 0x8B, 0xE5}, 16, 8,
"14.KdpSendTraceData"
},
{{0x89, 0x4C, 0x24, 0x2C, 0x89, 0x74, 0x24, 0x24, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x6A, 0x10, 0x58}, 16, 8,
"15.KdpPromptString"
},
{{0x50, 0x6A, 0x0B, 0xE8,
'?'
,
'?'
,
'?'
,
'?'
, 0x80, 0x3D,
'?'
,
'?'
,
'?'
,
'?'
, 0x00, 0x0F, 0x84, 0x79, 0xFF, 0xFF, 0xFF}, 21, 3,
"16.KdpCreateRemoteFile"
},
{{0x50, 0x6A, 0x0B, 0xE8,
'?'
,