时间:2021-07-01 10:21:17 帮助过:25人阅读
配置windbg路径
Symbol path:SRV*F:\Windows\symbolxp3*http://msdl.microsoft.com/download/symbols;C:\Users\bojay\Desktop\first\objchk_wxp_x86\i386 Source path:C:\Users\bojay\Desktop\first Image path:C:\Users\bojay\Desktop\first\objchk_wxp_x86\i386
【注意】windbg路径要根据个人具体情况而定,不能复制!
进入实操?
0x00>>将first.sys安装到虚拟机Windows XP系统,启动windbg,虚拟机立刻不能动,点击windbg F5,回到虚拟机启动驱动程序,windbg马上跳到int3断点处,如下:

0x01>>设置两个断点F9,开始单步调试,执行到打印输出那行代码后,查看windbg输出:

0x02>>F5,回到虚拟机

0x03>>停止,查看windbg输出

#include <ntddk.h>
// 提供一个Unload函数只是为了
VOID DriverUnload(PDRIVER_OBJECT driver)
{
// 但是实际上我们什么都不做,只打印一句话:
DbgPrint("first: Our driver is unloading…\r\n");
}
// DriverEntry,入口函数。相当于main。
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
#if DBG
_asm int 3
#endif
// 这是我们的内核模块的入口,可以在这里写入我们想写的东西。
DbgPrint("first: Hello, my salary!");
// 设置一个卸载函数便于这个函数能退出。
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
参考书籍:
Windows内核安全与驱动开发
windbg调试驱动程序
标签:安装 x86 \n turn ret 不能 windbg 调试 des