广海混沌和魔鬼作坊
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)