廣海混沌和魔鬼作坊
windbg雙機調試。
//查看30條彙編指令
u NtOpenProcess l 30
F10 步過
F8、F11 步入(進入樹裏面)
*****************************************************************************本身源文件*****************************************************************************
<pre name="code" class="cpp">#include <ntddk.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver,PUNICODE_STRING str)
{
//調試輸出
DbgPrint("Loading mogui Driver...\n\r");
return 1;
}
**************************************************************************修改後的源文件****************************************************************************#include <ntddk.h>
void UnloadDriver(PDRIVER_OBJECT pDriver);
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver,PUNICODE_STRING str)
{
//驅動 ->驅動卸載=卸載驅動
pDriver->DriverUnload=UnloadDriver;
//調試輸出
DbgPrint("Loading MyDriver...\r");//有一個換行的空格
return 1;
}
void UnloadDriver(PDRIVER_OBJECT pDriver)
{
//調試輸出
DbgPrint("unLoading MyDriver...\r");
}
//看裏面的內容
dd poi(KeServiceDescriptorTable)shadow沒有被導出,所以不能查看。
1.
kd> Dd poi(KeServiceDescriptorTable-0x40+0x10)
bf999b80 ???????? ???????? ???????? ????????
bf999b90 ???????? ???????? ???????? ????????
bf999ba0 ???????? ???????? ???????? ????????
bf999bb0 ???????? ???????? ???????? ????????
bf999bc0 ???????? ???????? ???????? ????????
bf999bd0 ???????? ???????? ???????? ????????
bf999be0 ???????? ???????? ???????? ????????
bf999bf0 ???????? ???????? ???????? ????????
2.
bp win32k!NtUserPostMessage
kd> bp win32k!NtUserPostMessage
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
//可以在編輯中Breakpoints中找到 bc *//清除所有。
3.
kd> g
Breakpoint 0 hit
win32k!NtUserPostMessage:
bf8089b4 8bff mov edi,edi
,並進虛擬機,讓它斷下
4.
//重新加載符號
.reload
5.
kd> Dd poi(KeServiceDescriptorTable-0x40+0x10)
bf999b80 bf935f7e bf947b29 bf88ca52 bf93f6f0
bf999b90 bf949140 bf936212 bf9362b7 bf83b4cd
bf999ba0 bf948a67 bf934a17 bf94905f bf90f2f4
bf999bb0 bf902318 bf809fdf bf948f31 bf94a72d
bf999bc0 bf900c15 bf893b44 bf94900f bf94a860
bf999bd0 bf820f34 bf8dcb55 bf87a2e4 bf8c29a0
bf999be0 bf91052f bf80e2c5 bf8dc7fd bf94a525
bf999bf0 bf94b430 bf813a71 bf80cf90 bf8d14e4
kd> u bf88ca52
win32k!NtGdiAddFontResourceW:
bf88ca52 6808010000 push 108h
bf88ca57 68704599bf push offset win32k!`string'+0x4cc (bf994570)