windows-kernel相关内容

设备驱动程序未安装在任何设备上,如果这是Visual Studio 2019中的hello world驱动程序,请使用原语驱动程序?

我正在尝试在最新的Visual Studio上编译hello world驱动程序 他们似乎在最新版本中对visual studio做了一些奇妙的更改,因为我在VS 2017中没有这个问题,我无法编译一个简单的hello world驱动程序,几乎可以在任何教程中找到,因为我收到了这个错误: Device driver does not install on any devices, us ..
发布时间:2022-03-02 18:56:46 其他开发

内核空间是否映射到 Linux x86 上的用户空间?

似乎在Windows 32位上,内核会从总共4G的用户虚拟内存空间中预留1G的虚拟内存,并将部分的内核空间映射到这1G空间中. 所以我的问题是: 在 32 位 Linux 上有没有类似的情况? 如果是这样,我们如何才能看到整个内存布局? 我觉得 cat/proc/pid/map 只能看到某个进程的用户空间布局.. 谢谢! 解决方案 其实在 32 位 Windo ..

如何开始Windows内核编程?

我是一名应用程序开发人员,主要使用C#工作.我对C/C ++有所了解.我对Windows内核开发非常着迷和感兴趣.我草绘了一个布局以了解这一点. 1. Understand Windows internals(By books) 2. Try Simple Modules and keep expanding. 要实现这一目标,我需要以下帮助: 1. The books I sho ..
发布时间:2021-02-14 21:07:20 其他开发

EPROCESS DirBase如何生成"VAD树根"?

我转储了一些过程数据. 我得到的DirBase值为00030000 Windows如何生成此值? 内核开始时是否有AVL Tree数据结构提供此数据? 我想学习如何在内核内部创建进程. 什么样的全局变量分配DirBase,ObjectTable等值. 以下是一些示例windbg: !process fb667a00 7 过程fb667a00投标编号:0002 Peb:00000000父投标编 ..
发布时间:2020-07-14 05:06:25 其他开发

Windows内核驱动程序:是否执行"HANDLE UniqueThread"?在"CLIENT_ID CreationThreadId"中;加载过程中是否相同?

我正在尝试编写APC dll注入驱动程序,发现理解代码后,这就是我想修改它的方式(而且我的问题来自那里). 在代码中,作者使用 PsLookupThreadByThreadId 接收指向目标进程的ETHREAD结构的引用指针. PsLookupThreadByThreadId(pSpi->Threads[0].ClientId.UniqueThread,&Thread) 但要获取 ..
发布时间:2020-07-14 05:05:22 其他开发

如何从Windows内核驱动程序获取设备实例路径?

看看这个例子:据报道Windows 7中的USB设备具有设备实例路径(DevinstPath) USB \ VID_1EAB& PID_0501 \ 7& 25C389C1& 0& 1 ,我确切地知道它对应于注册表中的所谓的硬件密钥(hwkey). 现在我的问题是:当我的KMDF驱动程序代码具有该USB设备的WDFDEVICE句柄时,如何知道其DevinstPath? 我知道我可以 ..
发布时间:2020-07-14 05:04:20 其他开发

WinDBG的命令类别?

我看到了一些有关WinDBG指令的参考和教程. 其中有些像lm,.echo,!running和nt!_PDB. 这些类别之间有什么区别 xxx .xxx !xxx xxx!yyy ? 他们看起来很困惑. 解决方案 有内置命令,元命令(点命令)和扩展命令(爆炸命令). 我个人的观点是,与元命令相比,您不必太在意内置命令的区别,因为有足够的示例说明这些定义不 ..
发布时间:2020-07-14 05:03:18 其他开发

从Linux调试Windows内核

我曾经使用 VirtualKD , WinDBG 和单个虚拟机来调试Windows内核. 最近我有一台Linux机器,现在我想知道-当主机无法运行 VirtualKD/WinDBG * 时,调试Windows内核的最简单方法是什么? 我认为该解决方案将需要两个虚拟机,但是我宁愿在实际计算机上托管两个实例,而不是将一个实例驻留在另一个虚拟实例中... 反正有做那个工作吗? 提 ..
发布时间:2020-07-14 05:03:11 其他开发

实现实时的1毫秒准确事件,而无需进行线程调度

问题 我正在使用 .Net 4.5 创建一个基于Windows 7的C#WPF 应用程序,它的主要功能之一是调用与自定义硬件接口的某些功能和一组用户定义的周期时间.例如,用户可能选择每10或20毫秒调用两个函数,而每500毫秒调用另一个函数. 用户可以选择的最小循环时间为1毫秒. 起初,计时似乎是准确的,并且根据需要每1毫秒调用一次函数.但是我们后来注意到,大约 1-2%的计时不准确, ..
发布时间:2020-05-13 22:56:07 C#/.NET

在Linux x86上,内核空间是否映射到用户空间?

似乎在Windows 32位上,内核将从全部4G用户虚拟内存空间中保留1G虚拟内存,并将内核空间的 some 映射到该1G空间中. 所以我的问题是: 在32位Linux上是否有类似情况? 如果是这样,我们如何看到整个内存布局? 我认为 cat /proc/pid/map 只能看到特定进程的用户空间布局. 谢谢! 解决方案 实际上,在32位Windows上 ..

我如何发送键盘&鼠标输入到Windows登录屏幕?

我正在开发一个需要在Windows登录屏幕上模拟输入的Windows服务。基本上移动鼠标并转发击键。该服务将以完全权限运行,因此不是问题。我查看了SendInput,但它只适用于当前会话。我知道有各种类型的工具允许这样的功能,例如远程协助工具是一个允许IT支持人员查看登录屏幕并提供输入的示例,所以它绝对可行,但是如何? 解决方案 SysInternals PSExec 的 -x 命令行切换 ..
发布时间:2018-08-24 17:55:23 其他开发

使用两个VirtualBox主机调试Windows内核

我正在运行Linux,而在VirtualBox中有两台Windows 7机器设置。 现在我试图使用第一台机器调试第二台机器 所以我为两台机器配置了相同的主机管道, 在调试器机器中,我启动了等待输入的windbg在 COM1 : 在debugee机器上,我启用了调试模式并重新启动, C:\Users\XX> bcdedit / dbgsettings debugt ..
发布时间:2017-04-21 18:41:52 开发方法