婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 分享Win10 1903過TP的雙機調試問題

分享Win10 1903過TP的雙機調試問題

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

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

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

具體方式是hookKdpTrap

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

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

3、XP會清零KdDebuggerEnabled

這里本來是打算做一個定時器,但是還是會導致TesNginx.Sycccccccccccccc出現藍屏,所以只有手動的去修改

4、斷鏈隱藏 kdcom,防止kdcom內存被清空導致和windbg通訊不了

5、XP會檢測KdEnteredDebugger,如果是1就直接藍屏

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

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

之后放上一張過了圖片

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

#include Ntifs.h>
#include ntimage.h>
extern void debg();
//關閉寫保護
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的雙機調試,環境為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);
//這里做一個跳轉
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;//替換成自己的函數地址
 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內存被清空導致和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;
 // 初始化要隱藏驅動的驅動名
 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("隱藏驅動 %ws 成功!\n", entry->BaseDllName.Buffer);
  // 修改 Flink 和 Blink 指針, 以跳過我們要隱藏的驅動
  *((ULONG*)entry->InLoadOrderLinks.Blink) = (ULONG)entry->InLoadOrderLinks.Flink;
  entry->InLoadOrderLinks.Flink->Blink = entry->InLoadOrderLinks.Blink;
  /*
   使被隱藏驅動LIST_ENTRY結構體的Flink, Blink域指向自己
   因為此節點本來在鏈表中, 那么它鄰接的節點驅動被卸載時,
   系統會把此節點的Flink, Blink域指向它相鄰節點的下一個節點.
   但是, 它此時已經脫離鏈表了, 如果現在它原本相鄰的節點驅動被
   卸載了, 那么此節點的Flink, Blink域將有可能指向無用的地址, 而
   造成隨機性的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藍屏
/*
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;
//這里做一個跳轉
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;//替換成自己的函數地址
 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; //據暗中觀察,+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;
 //這里把這個函數進行了hook
 ModifyKdpTrap(HookKdpTrap, orgkdt);
 //防止安全組件加載失敗
 DisableKdDebuggerEnabled();
 //摘掉kdcom的eprocess
 HideDriver();
 //干掉TP藍屏
 IoAllocateM = (ULONG64)IoAllocateMdl;//得到函數的地址
 ModifyIoAllocateMdl(newIoAllocateMdl, IoAllocateMdl);
 //設置定時器
 return STATUS_SUCCESS;
}

總結

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

您可能感興趣的文章:
  • 詳解Win10 Bash/WSL調試Linux環境下的.NET Core應用程序

標簽:鎮江 哈密 鶴崗 臺州 商丘 株洲 平頂山 綿陽

巨人網絡通訊聲明:本文標題《分享Win10 1903過TP的雙機調試問題》,本文關鍵詞  分享,Win10,1903,過,的,雙機,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《分享Win10 1903過TP的雙機調試問題》相關的同類信息!
  • 本頁收集關于分享Win10 1903過TP的雙機調試問題的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91国偷自产一区二区使用方法| 美女国产一区二区| 久久综合九色综合97婷婷女人 | 人妖欧美一区二区| 一区二区三区在线视频免费观看| 国产精品理伦片| 亚洲私人影院在线观看| 亚洲欧洲制服丝袜| 一区二区三区四区视频精品免费| 亚洲最快最全在线视频| 午夜视频久久久久久| 香蕉久久一区二区不卡无毒影院 | 一区二区三区四区中文字幕| 中文字幕亚洲成人| 夜夜嗨av一区二区三区中文字幕 | 无吗不卡中文字幕| 欧美视频完全免费看| 欧美国产日韩一二三区| 99久久精品国产精品久久| 成人黄色a**站在线观看| 丁香婷婷综合激情五月色| 国产精品亚洲а∨天堂免在线| 波波电影院一区二区三区| 91精品办公室少妇高潮对白| 欧美精三区欧美精三区| 国产日韩一级二级三级| ●精品国产综合乱码久久久久| 亚洲一区二区av电影| 精品一区二区三区av| 99re在线精品| 欧美tickling网站挠脚心| 国产精品毛片大码女人 | 国产91对白在线观看九色| 99热精品国产| 91精品国产黑色紧身裤美女| 国产欧美日韩不卡免费| 亚洲精品欧美激情| 国产精品亚洲人在线观看| 欧美日韩一本到| 国产精品夫妻自拍| 久久99精品视频| 欧美丝袜自拍制服另类| 国产女人aaa级久久久级| 亚洲成av人综合在线观看| 国产宾馆实践打屁股91| 日韩欧美亚洲国产精品字幕久久久| 国产亚洲精品福利| 日日夜夜免费精品| 91黄色免费网站| 国产精品免费aⅴ片在线观看| 美国十次综合导航| 日本精品一区二区三区高清 | 不卡av在线网| 91精品国产一区二区三区蜜臀| 欧美激情资源网| 久久99久久99| 欧美一区二区私人影院日本| 亚洲丝袜自拍清纯另类| 国产精品亚洲综合一区在线观看| 欧美老年两性高潮| 洋洋成人永久网站入口| 9色porny自拍视频一区二区| 欧美精品一区二区三区一线天视频| 亚洲成人综合网站| 色噜噜狠狠成人中文综合| 中文字幕欧美日韩一区| 国产99久久久国产精品免费看 | 三级亚洲高清视频| 在线国产电影不卡| 亚洲精品欧美专区| 91蜜桃传媒精品久久久一区二区| 日本一区二区成人在线| 国产成人aaaa| 国产精品成人免费| va亚洲va日韩不卡在线观看| 欧美激情一区二区三区在线| 国产乱码精品1区2区3区| 欧美一级搡bbbb搡bbbb| 午夜视频在线观看一区| 91精品国产品国语在线不卡| 亚洲成人自拍网| 91精品国产一区二区三区香蕉| 亚洲国产裸拍裸体视频在线观看乱了 | 欧美日韩国产天堂| 三级久久三级久久| 日韩一级高清毛片| 精品一区二区三区影院在线午夜| 日韩欧美国产1| 国产精品一区二区男女羞羞无遮挡 | 天堂影院一区二区| 日韩精品中文字幕一区 | 亚洲五月六月丁香激情| 欧美色成人综合| 日av在线不卡| 亚洲国产精品精华液ab| 成人性生交大片免费看中文网站| 中文字幕在线观看不卡| 91国偷自产一区二区开放时间| 亚洲va国产va欧美va观看| 日韩一区二区三区免费看 | 岛国精品在线观看| 亚洲免费伊人电影| 在线播放/欧美激情| 国产精品18久久久| 中文字幕一区二区三区在线播放 | 国产精品2024| 亚洲男女毛片无遮挡| 欧美日韩国产高清一区| 激情久久五月天| 亚洲欧美视频在线观看视频| 欧美日本韩国一区二区三区视频| 国产自产v一区二区三区c| 亚洲欧美日韩在线| 日韩免费观看高清完整版 | 欧美日韩一区二区在线观看视频 | 国产露脸91国语对白| 亚洲精选一二三| 久久久精品2019中文字幕之3| 99精品国产99久久久久久白柏| 日韩国产欧美在线观看| 亚洲欧洲精品成人久久奇米网| 制服视频三区第一页精品| 91在线小视频| 韩国欧美一区二区| 亚瑟在线精品视频| 亚洲欧美日韩精品久久久久| 欧美sm极限捆绑bd| 717成人午夜免费福利电影| 99视频有精品| 国产精品一区一区三区| 免费观看一级欧美片| 亚洲第一搞黄网站| 最新不卡av在线| 国产精品丝袜久久久久久app| 欧美日韩aaa| 欧美日韩一区二区在线视频| 99re66热这里只有精品3直播| 国模套图日韩精品一区二区| 日韩av中文字幕一区二区三区| 一区二区三区自拍| 亚洲乱码日产精品bd| 亚洲国产精品v| 亚洲国产激情av| 国产欧美精品一区aⅴ影院| 日韩免费观看高清完整版 | 成人手机在线视频| 国产一区91精品张津瑜| 日本va欧美va欧美va精品| 亚洲午夜久久久久久久久电影网| 国产精品久久久久久久久晋中 | 久久99精品久久久久婷婷| 奇米综合一区二区三区精品视频| 亚洲一区二区高清| 亚洲国产欧美一区二区三区丁香婷| 综合在线观看色| 一区二区三区在线看| 夜夜夜精品看看| 五月天激情综合| 免费在线观看一区| 美国十次综合导航| 狠狠v欧美v日韩v亚洲ⅴ| 国产一区二区按摩在线观看| 国产盗摄精品一区二区三区在线| 国产一区二区影院| 99久久er热在这里只有精品15| 色噜噜久久综合| 欧美午夜精品理论片a级按摩| 欧美自拍丝袜亚洲| 日韩一区和二区| 国产欧美一区二区精品久导航 | 成人黄色大片在线观看| 色偷偷成人一区二区三区91| 欧美在线观看一区二区| 欧美高清视频不卡网| 久久久久亚洲蜜桃| 自拍偷拍亚洲激情| 日韩电影免费一区| 国产一区二区三区免费观看| 成人激情图片网| 911精品产国品一二三产区| 久久综合999| 亚洲国产精品久久久久秋霞影院| 青草国产精品久久久久久| 成人丝袜高跟foot| 欧美久久久久久久久| 国产视频一区二区在线| 亚洲第一精品在线| 成人免费精品视频| 欧美电影一区二区三区| www国产成人| 亚洲国产综合在线| 成人激情校园春色| 日韩一区二区三区四区 | 51午夜精品国产| 国产精品视频免费看| 亚洲va天堂va国产va久| 粗大黑人巨茎大战欧美成人| 欧美精品免费视频| 一区二区三区在线免费播放| 国产一区二区h|