首页 > 其他 > 详细

开启驱动生涯

时间:2020-04-06 21:44:59      阅读:69      评论:0      收藏:0      [点我收藏+]

之前一直想搞搞驱动调试,一直没有条件,最近终于实现了

驱动开发环境搭建:

vs2019 community :https://visualstudio.microsoft.com/zh-hans/downloads/
wdk:https://go.microsoft.com/fwlink/?linkid=2085767

wdk安装后会开启Spectre,可以通过下载Spectre缓解库解决(不过我直接禁了)

编译时可能会有警告视为错误之类的问题,按情况调属性就行

测试用的代码:

#include <ntddk.h>

VOID DriverUnload(PDRIVER_OBJECT pDriverObject)
{
    DbgPrint("Goodbye world!\n");
}


NTSTATUS DriverEntry(
    IN PDRIVER_OBJECT pDriverObject,
    IN PUNICODE_STRING pRegistryPath)
{
    DbgPrint("Hello, world\n");
    pDriverObject->DriverUnload = DriverUnload;
    return STATUS_SUCCESS;
}

 

Windbg调试:

主机:Windows10
虚拟机:VMware 15.5pro
目标系统:Windows7

在虚拟机上添加一个串行端口,命名为 \\.\pipe\com_1(移除了打印机)

目标系统设置调试环境

CMD(管理员)
> bcdedit /dbgsettings serial baudrate:115200 debugport:1
> bcdedit /copy {current} /d DebugEntry
{此为系统给出}
> bcdedit /displayorder {current} {此为系统给出}
> bcdedit /debug {此为系统给出}

以调试模式重启Windows7

在windbg属性目标后添加 -k com:port=\\.\pipe\com_1,baud=115200,pipe,以管理员启动

用instdrv加载启动驱动

设置Symbol File Path

srv*C:\Symbols*http://msdl.microsoft.com/download/symbols;(国内已墙,自己想办法)
C:\Users\My\source\repos\KMDF Driver2\Debug\i386(编译后的.pdb位置)

输入命令.reload/i

输入命令lm查看,看到下面这条表示成功:

KMDFDriver2 (private pdb symbols) c:\users\my\source\repos\kmdf driver2\debug\i386\KMDFDriver2.pdb

设置Source File Path > 打开源码 在光标处f9设置断点,f5运行后会在断点停下,之后f10单步即可

 

开启驱动生涯

原文:https://www.cnblogs.com/harmonica11/p/12644069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!