草庐IT

c++ - 如何使用 ZwQueryInformationProcess 获取内核驱动程序中的 ProcessImageFileName?

我正在为我的应用程序编写一个简单的内核驱动程序(想想一个非常简单的反恶意软件应用程序。)我已HookZwOpenFile()并使用PsGetCurrentProcess()获取调用进程的句柄。它返回一个PEPROCESS结构:PEPROCESSproc=PsGetCurrentProcess();我正在使用ZwQueryInformationProcess()获取PID和ImageFileName:DbgPrint("ZwOpenFileCalled...\n");DbgPrint("PID:%d\n",PsGetProcessId(proc));DbgPrint("ImageFile

c++ - 无法打开包含文件 : 'ntddk.h'

我一直在尝试进入驱动程序开发(排队“不要那样做”)我一直在看thismsdnpage安装WDK(WindowsDriverKit)10之后我仍然无法编译他们在该页面上使用的示例。我看过其他SOquestions但是我找不到WDK的安装目录。当我尝试运行设置时,我看到了这个:我该如何解决这个问题? 最佳答案 您需要将WDKheader路径添加到您的vcxproj包含目录:vcxproj属性->C/C++->常规->附加包含目录C:\ProgramFiles(x86)\WindowsKits\10\Include\10.0.14393.

Windows 内核驱动程序签名和服务创建

在签署我的内核模式驱动程序并为其创建服务时遇到了一些麻烦。因此,我使用makecert创建了一个自签名证书:makecert-r-pe-n"CN=XXX"-ss"XXX"-srLocalMachine然后使用证书管理管理单元将证书导出到.pfx文件并使用signtool签署.sys驱动程序:signtoolsign/fmyCert.pfx/pxxx/thttp://timestamp.comodoca.com/authenticodedriver.sys这是成功的。使用signtool验证后,我收到:正在验证:driver.sys文件哈希(sha1):9A...7FSigningCer

c - Windows 文件系统筛选器驱动程序

我正在尝试创建一个小型文件系统筛选器驱动程序,用于测试/演示如何在WindowsServer2008R2中使用ETW跟踪筛选器驱动程序对I/O性能的影响。我已经下载了DDK并构建了一些示例,但我在尝试过滤特定磁盘设备或特定文件扩展名时遇到问题,这两种方法都适用于我正在尝试执行的任务。我想要做的是将过滤器驱动程序隔离到特定的磁盘/卷,或具有特定扩展名的文件,以显示I/O性能如何受过滤器驱动程序处理请求的影响。我一直在使用passthrough示例进行测试,在我尝试引入延迟的任何地方都会受到负面影响,因为我无法正确地将操作过滤到我想要做的具体操作。这绝不是一个功能齐全的驱动程序,理想情况下

windows - WDK 10 - 无法以安装了 SDK7 的 Windows 7 为目标

我正在开发Windows内核模式驱动程序。我已经安装了WDK10、与之链接的WindowsSDK和Windows7SDK。我想以Windows7为目标,所以我需要特定的包含等,但是VisualStudio只允许我将解决方案重新定位到Win10或Win8.1,但是我需要Win7SDK,例如,如果我想使用ZwQuerySystemInformation。我尝试重新安装所有内容,但没有任何帮助。我在Windows10上,所以我无法安装WDK7。 最佳答案 Windows10WDK允许您开发下至Windows7的驱动程序。我认为您不需要WD

c - 如何使用过滤器驱动程序(内核)捕获文件访问尝试并提供对话框以允许/拒绝(用户)?

我一直在查看Windows的FileSystemFilterDrivers.我从这个“FsFilter”示例开始:http://www.codeproject.com/Articles/43586/File-System-Filter-Driver-Tutorial通过努力,我设法构建并签署了适用于从64位Win8到32位WinXP的所有版本的版本。(好吧,只要我运行Bcdedit.exe-setTESTSIGNINGON以允许它接受我的测试证书,因为我没有向Microsoft支付250美元来签署我的.SYS文件。:-/)现在我要修改FsFilter。我希望对某些类型的文件的写访问被过

c - 如何访问用户态内存?

我正在尝试阅读notepad.exe的PEB目前我正在尝试通过注册一个ProcessCreation回调然后等待notepad.exe创建来访问PEB。创建记事本后,我使用它的PID打开进程并使用ZwQuerryProcess(PROCESS_BASIC_INFORMATION)找到PEB。但是当我尝试阅读INFORMATION->PEB以外的内容时,会引发异常(我认为这是因为我无法访问内存)当我第一次发现这个时,我记得有人提到了KeStackAttachProcess,它对应于访问另一个进程上下文中的地址。问题是我不知道如何检查上下文更改是否成功。一旦我应该在另一个上下文中,我仍然无

windows - 如何开发不接触硬件的 Windows 驱动程序?

我需要创建一个WDM驱动程序来模拟一个不存在的设备。O/S启动时需要加载驱动,通过SetupDiXXX和CreateFile打开和关闭,需要响应DeviceIoControl等。我已经编写了驱动程序代码,但XP拒绝加载它。系统事件查看器说:TheMyDeviceservicefailedtostartduetothefollowingerror:Theservicecannotbestarted,eitherbecauseitisdisabledorbecauseithasnoenableddevicesassociatedwithit.鉴于此,我认为问题出在INF文件中(引用下文)。

windows - 什么是 winapifamily.h?

在WindowsSDK和DDK中找不到它,但我们现有的一些代码包含它。我通过谷歌找到的唯一有意义的链接是:http://msdn.microsoft.com/en-us/library/windows/hardware/hh450839%28v=vs.85%29.aspx这是什么? 最佳答案 这是一个新的头文件,目前仅存在于Windows8ConsumerPreview/VisualStudio11Beta的SDK/DDK中。我认为此header用于将Win32API拆分为Desktop/MetroApp“分区”。

windows - 以编程方式模拟操纵杆

我想使用按键和/或鼠标输入来模拟操纵杆。所以其他程序/游戏会认为用户在使用鼠标时正在使用操纵杆。因此该程序将为假USB或假现有游戏杆安装某种驱动程序。有一个名为PPJoy的现有程序可以做同样的事情,但遗憾的是它是闭源的,需要用户独立安装它并执行配置步骤。发现这个:http://www.microsoft.com/whdc/archive/hidgame.mspx但无法从中得到太多意义。需要一些高水平的指导,这样我就可以自己研究而不是盲目地敲所有的门:)编辑:我正在尝试控制仅支持操纵杆的第三方程序 最佳答案 请参阅我对上一个与您的问题