首页
社区
课程
招聘
[已解决]DebugView无法获取到KDprintEx的信息。
发表于: 2018-8-24 15:21 9681

[已解决]DebugView无法获取到KDprintEx的信息。

2018-8-24 15:21
9681

编译的驱动能够正常加载/卸载,但是获取不到 KDprintEx / KDprint 的信息。 

驱动在 Win10 Vs2017 Debug x64 下编译的,安装驱动的虚拟机是Win10 1607 / Win10 1803。

解决办法:

1.修改注册表:
(新建txt文件,复制黏贴,重命名.reg,双击运行,修改注册表。)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Debug Print Filter] 
DEFAULT=dword:0000000f

2.驱动示例源码:

#include<ntddk.h>

// 驱动卸载
VOID DDK_Unload(IN PDRIVER_OBJECT pDriverObject)
 {

	DbgPrint("驱动成功卸载...OK!");
 }

// 驱动入口
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING reg_panth)
 {
	DbgPrint("驱动加载成功...Success!");
	pDriverObject->DriverUnload = DDK_Unload;

	return STATUS_SUCCESS;
}

3.VS编译器设置:
  (1)创建Empty WDM Drver项目,并新建一个C文件。
           
           
  (2)更改项目设置
           (由于驱动是C文件,/jmc在vs2017是C++文件,不兼容这里选否)(警告视为错误选否)
           
  (3)设置目标运行平台为Win10/桌面
          
  (4)选择创建测试签名
           

         (设置完毕后进行编译得到sys驱动文件。)

4.勾选DebugView选项:

 (DebugView.exe 微软官方下载 / DriverLoader  https://bbs.pediy.com/thread-63374.htm下载)

    


5.点击install(加载)后,需要点击start(启动) ,才能看到驱动输出信息。(所有程序需要以管理员运行)


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-8-29 16:48 被猫捉老虎编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (24)
雪    币: 286
活跃值: (67)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xjj
2
看看filter
2018-8-24 15:44
0
雪    币: 286
活跃值: (67)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xjj
3
试试 KdPrint((xxx));
最后于 2018-8-24 15:50 被xjj编辑 ,原因:
2018-8-24 15:47
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
xjj 看看filter
什么意思,我没太懂,能解释一下吗。
2018-8-24 15:50
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
xjj 试试&nbsp;KdPrint((xxx));
试过 KdPrint ((“xxx”)) 同样没有输出。
2018-8-24 15:51
0
雪    币: 6124
活跃值: (4661)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
直接在windbg里面改
2018-8-24 20:56
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
黑洛 直接在windbg里面改
不懂。。。
2018-8-24 21:29
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有没有人可以帮一下的~
2018-8-25 09:43
0
雪    币: 267
活跃值: (794)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
DbgPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, "KmdfHelloWorld: KmdfHelloWorldEvtDeviceAdd\n"));
2018-8-25 11:36
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
WinDos2K DbgPrintEx((DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, "KmdfHelloWorld: KmdfHelloWorldEvtDeviceAd ...
测试了 DbgPrintEx(DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, "KmdfHelloWorld: KmdfHelloWorldEvtDeviceAdd\n");
DebugView 还是获取不到输出的信息。
2018-8-25 12:54
0
雪    币: 267
活跃值: (794)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11

wdf driver 不可以使用 Driver loader 安装, 需要 inf file.


devcon.exe install xxxxxx.inf  Root\xxxxxx

最后于 2018-8-25 15:34 被WinDos2K编辑 ,原因:
2018-8-25 15:28
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
WinDos2K wdf&nbsp;driver&nbsp;不可以使用&nbsp;Driver&nbsp;loader&nbsp;安装,&nbsp;需要&nbsp ...
可以用 Driver loader 安装的驱动模型是什么呢
2018-8-27 19:04
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
WinDos2K wdf&nbsp;driver&nbsp;不可以使用&nbsp;Driver&nbsp;loader&nbsp;安装,&nbsp;需要&nbsp ...
我照着网上的 写了WDM模型的驱动 也没有调试信息。
2018-8-27 23:09
0
雪    币: 267
活跃值: (794)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
编写通用 Hello World 驱动程序 (KMDF)
https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh439665(v=vs.85).aspx
win10 X64位有什么办法可以不用驱动签名而加载内核驱动
https://bbs.csdn.net/topics/392216320?page=1

管理员权限打开cmd
 bcdedit /set nointegritychecks on
 bcdedit /set testsigning on
 shutdown  -r -t 0 
2018-8-28 04:48
0
雪    币: 4942
活跃值: (4658)
能力值: ( LV10,RANK:171 )
在线值:
发帖
回帖
粉丝
15
DEFAULT键值的数据改成0xFFFFFFFF,不是0x0000000F
google上查找,很容易发现StackOverflow上有这个解答。
善用英语查询 了解一下

最后于 2018-8-28 08:21 被coneco编辑 ,原因:
2018-8-28 08:18
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
coneco DEFAULT键值的数据改成0xFFFFFFFF,不是0x0000000Fgoogle上查找,很容易发现StackOverflow上有这个解答。善用英语查询 了解一下
改了DEFAULT键值的数据0xFFFFFFFF 但还是没有输出信息。
2018-8-28 09:04
0
雪    币: 4942
活跃值: (4658)
能力值: ( LV10,RANK:171 )
在线值:
发帖
回帖
粉丝
17
猫捉老虎 改了DEFAULT键值的数据0xFFFFFFFF 但还是没有输出信息。
你确认驱动成功安装了吗?  最好用PCHunter确认下,虚拟机下win10好像不能使用PChunter,你先在win7或win8测试下,看是否加载了。
然后能截图下注册表下Debug Print Filter下的键值吗
2018-8-28 09:24
0
雪    币: 4942
活跃值: (4658)
能力值: ( LV10,RANK:171 )
在线值:
发帖
回帖
粉丝
18
猫捉老虎 改了DEFAULT键值的数据0xFFFFFFFF 但还是没有输出信息。
抱歉,忘说了,你修改注册表后要重启
2018-8-28 09:27
0
雪    币: 267
活跃值: (794)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
你的驱动还未签名,除了安装之外,还要改变系统为调试模式。 
另外Debug View 是否最新的版本支持 64 bit。
2018-8-28 12:17
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
coneco 你确认驱动成功安装了吗? 最好用PCHunter确认下,虚拟机下win10好像不能使用PChunter,你先在win7或win8测试下,看是否加载了。 然后能截图下注册表下Debug Print ...
Debug Print Filter 键值确认改了重启了。
加载驱动后,在PCHunter驱动模块没有显示,估计是驱动就没加载成功。
一开始创建WDF驱动说是要devcon.exe  加载
后来我改的WDM驱动,难道需要一种特别的加载办法?
2018-8-28 14:04
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
WinDos2K 你的驱动还未签名,除了安装之外,还要改变系统为调试模式。 另外Debug View 是否最新的版本支持 64 bit。
我设置了系统为测试模式及禁用强制签名。 DebugView 是最新版的。
目前问题应该是驱动就没加载成功,我改了驱动类型为WDM,要怎么加载呢?
2018-8-28 14:08
0
雪    币: 4942
活跃值: (4658)
能力值: ( LV10,RANK:171 )
在线值:
发帖
回帖
粉丝
22
猫捉老虎 Debug Print Filter 键值确认改了重启了。 加载驱动后,在PCHunter驱动模块没有显示,估计是驱动就没加载成功。 一开始创建WDF驱动说是要devcon.exe 加载 后来 ...
你如果只是想验证DbgView可不可以接受到DbgPrint输出的信息,那我可以给你个demo。
另外驱动加载可以用命令行的sc命令加载,当然可写个简单的windows程序调用sc相关的API

sc相关API加载你可以参考这个网站:https://www.codeproject.com/Articles/9504/Driver-Development-Part-1-Introduction-to-Drivers
这个网站提供了完整的demo。

还有你那不是签名,testsigning只是让你可以启用测试签名,你本身是需要对驱动进行签名的,你用VS编译测试驱动的时候,有个.cer文件,这个文件可以用certmgr.exe签名。这个的相关说明可以在msdn上找到,不过msdn的内容太杂,我就简单说明一下:

用管理员身份启动命令行,然后在命令行输入:
CertMgr.exe /add CertificateFileName.cer /s /r localMachine root

执行这句后,你双击.cer文件,应该不会看到一个红叉(在未执行上面这句命令行时,你双击.cer文件可以看到)

certmgr在VS的sdk里面有,你用everything搜一下就找到了。

最后于 2018-8-28 14:27 被coneco编辑 ,原因:
2018-8-28 14:19
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
coneco 猫捉老虎 Debug Print Filter 键值确认改了重启了。 加载驱动后,在PCHunter驱动模块没有显示,估计是驱动就没加载成功。 一开始创建 ...
我上面的DriveLoader就是调用SC相关API写的驱动加载。。。但是不能加载啊。。
我想知道怎么加载我vs2017编写的驱动,因为我刚学习驱动,后面需要输出信息肯定不少。
DriverLoader  源码 https://github.com/yusakul/DriverLoader
最后于 2018-8-28 14:35 被猫捉老虎编辑 ,原因:
2018-8-28 14:31
0
雪    币: 4942
活跃值: (4658)
能力值: ( LV10,RANK:171 )
在线值:
发帖
回帖
粉丝
24
猫捉老虎 coneco 猫捉老虎 Debug Print Filter 键值确认改了重启了。 加载驱动后,在PCHunter ...
1.提示一下,用VS编译驱动,在Project的Properties里面需要设置驱动的目标平台
2.关于怎么加载,网上方法有很多,你可以多试。我刚才提供的链接是自己测试过的(WDM),所以这还需要你摸索。(因为刚学习,所以不懂很多东西,这时就去搜资料学习,不知不觉经验积累了,就懂了,都这么过来的)
最后于 2018-8-28 14:56 被coneco编辑 ,原因:
2018-8-28 14:55
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
win8.1 以上 设置完成 需要重启系统 
并且 关闭之后 重新开启 需要重启系统 
2018-8-28 20:11
0
游客
登录 | 注册 方可回帖
返回
//