校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 分享Win10 1903過TP的雙機調(diào)試問題

分享Win10 1903過TP的雙機調(diào)試問題

熱門標(biāo)簽:怎么去掉地圖標(biāo)注文字 北京外呼系統(tǒng)咨詢電話 高德地圖標(biāo)注公司位置需要錢嗎 合肥阿里辦理400電話號 襄陽外呼增值業(yè)務(wù)線路解決方案 地圖標(biāo)注資源分享注冊 慶陽外呼系統(tǒng)定制開發(fā) 海南人工外呼系統(tǒng)哪家好 廊坊地圖標(biāo)注申請入口

差不多我用到的大部分代碼都是從上面cv(Ctrl+c---->Ctrl+v)下來的

1、首先解決The context is partially valid. Only x86 user-mode context is available. 

具體方式是hookKdpTrap

2、 防止安全組件加載失敗

SharedUserData->KdDebuggerEnabled = FALSE;  //防止安全組件加載失敗,SharedUserData這個是一個導(dǎo)出的全局變量直接寫就行

3、XP會清零KdDebuggerEnabled

這里本來是打算做一個定時器,但是還是會導(dǎo)致TesNginx.Sycccccccccccccc出現(xiàn)藍(lán)屏,所以只有手動的去修改

4、斷鏈隱藏 kdcom,防止kdcom內(nèi)存被清空導(dǎo)致和windbg通訊不了

5、XP會檢測KdEnteredDebugger,如果是1就直接藍(lán)屏

處理方式是讓他去找其他位置(PUCHAR)KdEnteredDebugger + 0x30;  //據(jù)暗中觀察,+0x30 的位置恒為0

做完這些之后基本上就能夠下斷點了,但是其實還是有問題(由于hook了系統(tǒng)函數(shù)有一定的幾率會觸發(fā)109錯誤->PathGuard,一開始我也分不清楚,后來慢慢的也了解了)

之后放上一張過了圖片

最后把代碼也帶上吧,.asm文件很簡單簡單的inlinhook就行了

#include Ntifs.h>
#include ntimage.h>
extern void debg();
//關(guān)閉寫保護
KIRQL WPOFFx64(){
 KIRQL irql = KeRaiseIrqlToDpcLevel();
 UINT64 cr0 = __readcr0();
 cr0 = 0xfffffffffffeffff;
 __writecr0(cr0);
 _disable();
 return irql;
}
//開啟寫保護
void WPONx64(KIRQL irql){
 UINT64 cr0 = __readcr0();
 cr0 |= 0x10000;
 _enable();
 __writecr0(cr0);
 KeLowerIrql(irql);
}
//這里嘗試過tp的雙機調(diào)試,環(huán)境為win10 1903
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//1、首先解決The context is partially valid. Only x86 user-mode context is available. 
/*
nt!KdpTrap:
fffff807`64bfffc8 48895c2408   mov   qword ptr [rsp+8],rbx
fffff807`64bfffcd 4889542410   mov   qword ptr [rsp+10h],rdx
fffff807`64bfffd2 57       push  rdi
fffff807`64bfffd3 4883ec40    sub   rsp,40h
fffff807`64bfffd7 33d2      xor   edx,edx
*/
ULONG64 orgkdt = 0xfffff80166201fc8;
//ULONG64 orgkdt= 0xfffff80764bfffc8;//直接寫硬編碼,這里需要進行修改-------------------------------------------------------------------------------------------------------------------------------------------------------
NTKERNELAPI UCHAR * PsGetProcessImageFileName(__in PEPROCESS Process);
extern NTSTATUS hdbktrap(IN PKTRAP_FRAME TrapFrame,IN PKEXCEPTION_FRAME ExceptionFrame,IN PEXCEPTION_RECORD ExceptionRecord,IN PCONTEXT ContextRecord,IN KPROCESSOR_MODE PreviousMode,IN BOOLEAN SecondChanceException);
//這里做一個跳轉(zhuǎn)
VOID ModifyKdpTrap(PVOID myaddress,PVOID targetaddress) {
 KIRQL irql;
 ULONGLONG myfun;
 UCHAR jmp_code[] = "\x48\xB8\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\xFF\xE0\x00\x00";//mov rax xxx,jmp rax
 myfun = (ULONGLONG)myaddress;//替換成自己的函數(shù)地址
 RtlCopyMemory(jmp_code + 2, myfun, 8);
 //debg();
 irql = WPOFFx64();
 RtlCopyMemory(targetaddress, jmp_code, 12);
 WPONx64(irql);
}
//這里完成hook
NTSTATUS HookKdpTrap(
 IN PKTRAP_FRAME TrapFrame,
 IN PKEXCEPTION_FRAME ExceptionFrame,
 IN PEXCEPTION_RECORD ExceptionRecord,
 IN PCONTEXT ContextRecord,
 IN KPROCESSOR_MODE PreviousMode,
 IN BOOLEAN SecondChanceException){
 
 PEPROCESS hp = PsGetCurrentProcess();
 if (!_stricmp((char *)PsGetProcessImageFileName(hp), "TASLogin.exe")){
 return STATUS_SUCCESS;
 }
 return hdbktrap(TrapFrame, ExceptionFrame, ExceptionRecord, ContextRecord, PreviousMode, SecondChanceException);
}
//這里做一個還原
void UnHookKdpTrap() {
 KIRQL irql;
 UCHAR orignal_code[] = "\x48\x89\x5c\x24\x08\x48\x89\x54\x24\x10\x57\x48\x83\xec\x40";//mov rax xxx,jmp rax
 irql = WPOFFx64();
 RtlCopyMemory(orgkdt, orignal_code, 15);
 WPONx64(irql);
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//2、 防止安全組件加載失敗
VOID DisableKdDebuggerEnabled() {
 SharedUserData->KdDebuggerEnabled = FALSE; //防止安全組件加載失敗
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//3、TP會清零KdDebuggerEnabled,這里做一個每隔一秒的定時器
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//4、斷鏈隱藏 kdcom,防止kdcom內(nèi)存被清空導(dǎo)致和windbg通訊不了
/*
0: kd> dt _eprocess
nt!_EPROCESS
  +0x000 Pcb       : _KPROCESS
  +0x2e0 ProcessLock   : _EX_PUSH_LOCK
  +0x2e8 UniqueProcessId : Ptr64 Void
  +0x2f0 ActiveProcessLinks : _LIST_ENTRY
*/
PDRIVER_OBJECT pDriverObject = NULL;
typedef struct _KLDR_DATA_TABLE_ENTRY {
 LIST_ENTRY InLoadOrderLinks;
 PVOID ExceptionTable;
 ULONG ExceptionTableSize;
 PVOID GpValue;
 ULONG UnKnow;
 PVOID DllBase;
 PVOID EntryPoint;
 ULONG SizeOfImage;
 UNICODE_STRING FullDllName;
 UNICODE_STRING BaseDllName;
 ULONG Flags;
 USHORT LoadCount;
 USHORT __Unused5;
 PVOID SectionPointer;
 ULONG CheckSum;
 PVOID LoadedImports;
 PVOID PatchInformation;
} KLDR_DATA_TABLE_ENTRY, *PKLDR_DATA_TABLE_ENTRY;
VOID HideDriver(){
 PKLDR_DATA_TABLE_ENTRY entry = (PKLDR_DATA_TABLE_ENTRY)pDriverObject->DriverSection;
 PKLDR_DATA_TABLE_ENTRY firstentry;
 UNICODE_STRING uniDriverName;
 firstentry = entry;
 // 初始化要隱藏驅(qū)動的驅(qū)動名
 RtlInitUnicodeString(uniDriverName, L"kdcom.dll");
 while ((PKLDR_DATA_TABLE_ENTRY)entry->InLoadOrderLinks.Flink != firstentry){
 if (entry->FullDllName.Buffer != 0){
  if (RtlCompareUnicodeString(uniDriverName, (entry->BaseDllName), FALSE) == 0){
  //DbgPrint("隱藏驅(qū)動 %ws 成功!\n", entry->BaseDllName.Buffer);
  // 修改 Flink 和 Blink 指針, 以跳過我們要隱藏的驅(qū)動
  *((ULONG*)entry->InLoadOrderLinks.Blink) = (ULONG)entry->InLoadOrderLinks.Flink;
  entry->InLoadOrderLinks.Flink->Blink = entry->InLoadOrderLinks.Blink;
  /*
   使被隱藏驅(qū)動LIST_ENTRY結(jié)構(gòu)體的Flink, Blink域指向自己
   因為此節(jié)點本來在鏈表中, 那么它鄰接的節(jié)點驅(qū)動被卸載時,
   系統(tǒng)會把此節(jié)點的Flink, Blink域指向它相鄰節(jié)點的下一個節(jié)點.
   但是, 它此時已經(jīng)脫離鏈表了, 如果現(xiàn)在它原本相鄰的節(jié)點驅(qū)動被
   卸載了, 那么此節(jié)點的Flink, Blink域?qū)⒂锌赡苤赶驘o用的地址, 而
   造成隨機性的BSoD.
  */
  entry->InLoadOrderLinks.Flink = (LIST_ENTRY*)(entry->InLoadOrderLinks.Flink);
  entry->InLoadOrderLinks.Blink = (LIST_ENTRY*)(entry->InLoadOrderLinks.Flink);
  break;
  }
 }
 // 鏈表往前走
 entry = (PKLDR_DATA_TABLE_ENTRY)entry->InLoadOrderLinks.Flink;
 }
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
//5、處理TP藍(lán)屏
/*
fffff807`642d2210 48895c2420   mov   qword ptr [rsp+20h],rbx
fffff807`642d2215 4488442418   mov   byte ptr [rsp+18h],r8b
fffff807`642d221a 56       push  rsi
fffff807`642d221b 57       push  rdi
fffff807`642d221c 4154      push  r12
fffff807`642d221e 4155      push  r13
fffff807`642d2220 4157      push  r15
fffff807`642d2222 4883ec20    sub   rsp,20h
*/
#define KdEnteredDebugger 0xfffff80165d061e0
//#define KdEnteredDebugger 0xfffff80764704100//直接寫硬編碼,這里需要進行修改-----------------------------------------------------------------------------------------------------------------------------------------------
extern PMDL hookIoAllocateMdl(__drv_aliasesMem PVOID VirtualAddress, ULONG Length, BOOLEAN SecondaryBuffer, BOOLEAN ChargeQuota, PIRP Irp);
ULONG64 IoAllocateM=0;
//這里做一個跳轉(zhuǎn)
VOID ModifyIoAllocateMdl(PVOID myaddress, PVOID targetaddress) {
 KIRQL irql;
 ULONGLONG myfun;
 UCHAR jmp_code[] = "\x48\xB8\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00\xFF\xE0\x00\x00";//mov rax xxx,jmp rax
 myfun = (ULONGLONG)myaddress;//替換成自己的函數(shù)地址
 RtlCopyMemory(jmp_code + 2, myfun, 8);
 //debg();
 irql = WPOFFx64();
 RtlCopyMemory(targetaddress, jmp_code, 12);
 WPONx64(irql);
}
PMDL newIoAllocateMdl(__drv_aliasesMem PVOID VirtualAddress, ULONG Length, BOOLEAN SecondaryBuffer, BOOLEAN ChargeQuota, PIRP Irp){
 //debg();
 if(VirtualAddress == KdEnteredDebugger){
 //DbgPrint("[KdEnteredDebugger] address: %p\n", KdEnteredDebugger);
 VirtualAddress = (PUCHAR)KdEnteredDebugger + 0x30; //據(jù)暗中觀察,+0x30 的位置恒為0
 }
 return hookIoAllocateMdl(VirtualAddress, Length, SecondaryBuffer, ChargeQuota, Irp);
}
//這里做一個還原
void UnHookIoAllocateMdl() {
 KIRQL irql;
 UCHAR orignal_code[] = "\x48\x89\x5c\x24\x20\x44\x88\x44\x24\x18\x56\x57\x41\x54\x41\x55";
 irql = WPOFFx64();
 RtlCopyMemory(IoAllocateMdl, orignal_code, 15);
 WPONx64(irql);
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
VOID DriverUnload(PDRIVER_OBJECT DriverObject) {
 //還原之前的KdpTraphook
 UnHookKdpTrap();
 //還原之前的IoAllocateMdl
 UnHookIoAllocateMdl();
 //取消定時器
 
 DbgPrint("See You !\n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegPath) {
 pDriverObject = DriverObject;
 DriverObject->DriverUnload = DriverUnload;
 //這里把這個函數(shù)進行了hook
 ModifyKdpTrap(HookKdpTrap, orgkdt);
 //防止安全組件加載失敗
 DisableKdDebuggerEnabled();
 //摘掉kdcom的eprocess
 HideDriver();
 //干掉TP藍(lán)屏
 IoAllocateM = (ULONG64)IoAllocateMdl;//得到函數(shù)的地址
 ModifyIoAllocateMdl(newIoAllocateMdl, IoAllocateMdl);
 //設(shè)置定時器
 return STATUS_SUCCESS;
}

總結(jié)

以上所述是小編給大家分享的Win10 1903過TP的雙機調(diào)試問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • 詳解Win10 Bash/WSL調(diào)試Linux環(huán)境下的.NET Core應(yīng)用程序

標(biāo)簽:鎮(zhèn)江 哈密 鶴崗 臺州 商丘 株洲 平頂山 綿陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《分享Win10 1903過TP的雙機調(diào)試問題》,本文關(guān)鍵詞  分享,Win10,1903,過,的,雙機,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《分享Win10 1903過TP的雙機調(diào)試問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于分享Win10 1903過TP的雙機調(diào)試問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美高清在线视频| 91在线高清观看| 成人黄色网址在线观看| 一本大道久久a久久综合 | 亚洲人被黑人高潮完整版| 亚洲成人激情综合网| 国产一区二区三区久久久| 97精品久久久久中文字幕| 欧美精品第1页| 国产精品视频一二三| 午夜在线成人av| 国产乱色国产精品免费视频| 日本精品视频一区二区三区| 精品国产乱码久久久久久图片| 成人免费在线视频观看| 美日韩一区二区| 91影视在线播放| 日韩女同互慰一区二区| 亚洲欧美激情插| 国产乱人伦精品一区二区在线观看 | 99国产精品久| 日韩欧美一级二级三级| 韩国精品久久久| 99视频一区二区| 日韩精品一区二区三区老鸭窝| 亚洲欧美影音先锋| 麻豆国产精品官网| 欧美视频中文一区二区三区在线观看| 久久精品视频一区二区| 日韩高清不卡一区二区| a在线欧美一区| 欧美成人bangbros| 香蕉久久夜色精品国产使用方法 | 亚洲色欲色欲www| 国产福利精品导航| 51精品视频一区二区三区| 亚洲丝袜制服诱惑| 国产精品资源在线| 在线电影一区二区三区| 亚洲天天做日日做天天谢日日欢 | 欧美激情在线免费观看| 麻豆精品视频在线观看免费| 欧洲在线/亚洲| 国产精品久久久久7777按摩| 国产一区二区三区高清播放| 欧美精品色综合| 亚洲精品高清视频在线观看| 成人国产精品免费网站| 国产亚洲短视频| 极品尤物av久久免费看| 91麻豆精品国产综合久久久久久| 一区二区三区四区乱视频| 成人激情小说网站| 亚洲国产精品成人综合| 国产乱码精品一区二区三区av| 日韩欧美国产一区在线观看| 五月婷婷综合在线| 欧美日韩综合不卡| 亚洲午夜羞羞片| 色www精品视频在线观看| 亚洲丝袜美腿综合| av一二三不卡影片| 中文字幕成人av| 成人a区在线观看| 国产精品日韩精品欧美在线| 成人做爰69片免费看网站| 国内精品久久久久影院色| 日韩午夜激情av| 日韩福利视频网| 欧美一级片免费看| 男女男精品视频网| 欧美tickle裸体挠脚心vk| 久久精品国产久精国产爱| 日韩精品中文字幕一区| 九一九一国产精品| 久久久久久久久久久黄色| 国产麻豆视频一区| 日本一区二区不卡视频| 99热99精品| 国产精品夫妻自拍| 色综合久久88色综合天天6| 一区二区三区在线播放| 欧美四级电影在线观看| 亚洲v中文字幕| 日韩视频一区二区三区| 国内精品久久久久影院一蜜桃| 久久久噜噜噜久噜久久综合| 成人午夜在线播放| 亚洲欧美色一区| 欧美日韩不卡视频| 蜜桃视频一区二区| 久久久久97国产精华液好用吗| 国产成人日日夜夜| 亚洲欧美一区二区三区孕妇| 欧美视频一二三区| 久久99精品一区二区三区三区| 久久久久国产免费免费| av不卡免费电影| 亚洲第一激情av| 精品国免费一区二区三区| 国产福利精品一区| 一区二区成人在线视频| 91精品国产综合久久精品麻豆| 久久国产精品一区二区| 国产精品蜜臀av| 精品污污网站免费看| 久久黄色级2电影| 一区免费观看视频| 欧美丰满少妇xxxxx高潮对白| 日韩亚洲欧美成人一区| 成人午夜电影网站| 亚洲一卡二卡三卡四卡无卡久久| 日韩一区二区三区观看| 成人18视频日本| 日本美女一区二区| 国产精品高潮呻吟久久| 宅男在线国产精品| aa级大片欧美| 免费高清在线一区| 亚洲三级在线免费观看| 欧美一区二区女人| www.欧美日韩国产在线| 免费精品视频在线| 中文字幕在线不卡| 日韩情涩欧美日韩视频| 色婷婷av一区| 国产乱码精品一区二区三区av| 一区二区三区中文字幕在线观看| 欧美成人性战久久| 欧美性xxxxx极品少妇| 国产成人免费视频网站高清观看视频 | 国内精品伊人久久久久影院对白| 一区二区三区在线视频观看| 精品奇米国产一区二区三区| 色婷婷久久综合| 国内精品久久久久影院一蜜桃| 亚洲永久免费av| 日本一区二区电影| 日韩免费电影网站| 日本韩国欧美国产| 国产精品资源在线| 日韩高清不卡一区二区| 一区二区三区中文免费| 国产区在线观看成人精品| 91精品国产美女浴室洗澡无遮挡| 99精品一区二区三区| 国产乱码精品一区二区三区av | 日本精品免费观看高清观看| 国产精品99久久久久| 男女男精品网站| 亚洲chinese男男1069| 国产精品电影一区二区| 久久久久久久综合| 日韩区在线观看| 777xxx欧美| 欧美日韩在线播放| thepron国产精品| 国产精品中文欧美| 精品亚洲国内自在自线福利| 五月激情丁香一区二区三区| 日韩理论片网站| 中文字幕一区二区三中文字幕| 国产日产精品一区| 26uuu国产电影一区二区| 欧美一区二区成人6969| 欧美视频一二三区| 在线欧美一区二区| 色猫猫国产区一区二在线视频| 国产·精品毛片| 国产一二三精品| 国内外成人在线视频| 久久成人久久爱| 激情综合网av| 精品一区二区影视| 另类小说综合欧美亚洲| 久久精品国产色蜜蜜麻豆| 日本欧美大码aⅴ在线播放| 午夜激情综合网| 91福利在线播放| 欧美中文字幕亚洲一区二区va在线 | 91麻豆精品国产91久久久久久 | 偷拍一区二区三区| 天天影视涩香欲综合网 | 久久久无码精品亚洲日韩按摩| 欧美精品一区二区三区一线天视频| 欧美一区二区播放| 日韩欧美色综合| 精品国产免费视频| 国产日韩欧美一区二区三区乱码 | 91丨九色porny丨蝌蚪| av成人免费在线| 91福利视频网站| 欧美情侣在线播放| 欧美一级高清片| 久久综合九色综合97婷婷| 中文字幕不卡的av| 亚洲欧美经典视频| 图片区小说区国产精品视频| 美日韩黄色大片| 粉嫩一区二区三区性色av|