是否可以查看/修改通用Windows虚拟打印驱动程序的代码以重定向发送“打印”文件的位置?

问题描述

我是驱动程序开发的新手,基本上我想知道我是否可以使用Windows打印向导创建的虚拟驱动程序,并使用集成了WDK的VS2019以某种方式查看/修改代码。我正在尝试制作一个驱动程序,以将要打印的文件重定向到URI。如果无法做到这一点,有人可以向我指出一些可以帮助我的样本吗?

解决方法

是的,如果驱动程序允许从任何进程访问它,都是可能的。

在这种情况下

第一,首先找到驱动程序在哪里:

如果在Windows中C:\Windows\System32\drivers下找不到大多数驱动程序,请在提升的cmd(admin)driverquery.exe /v中使用此命令,它将列出所有司机及其位置以及有关他们的其他信息。

,反转驱动程序IOCTL,以便您可以与之通信, 您将需要Windbg,并且必须进行一些内核调试以弄清楚使用模式如何与驱动程序通信,只需键入 !drvobj driver_name 7,然后您会看到一些IRP_XXXXXXXX 您必须弄清楚用于与驱动程序通信的驱动程序,然后再反转该功能,因为您可以使用Windbg,IDA PRO,Ghidra或任何不错的反转工具将驱动程序加载到该驱动程序上,并开始了解如何构建驱动程序您的IOCTL,以便您可以了解如何与之通信。

在完成从这里开始的简单操作后,您必须在用户模式下编写适当的代码来调用驱动程序,然后获取输出并使用它进行所需的操作。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...