驱动开发
kiki商
这个作者很懒,什么都没留下…
展开
-
WhoUseMe 驱动实现
前面写过一个应用层的查找谁占用了我们的文件的程序WhoUseMe http://blog.csdn.net/qq_18218335/article/details/62884657 从文中截图可以看出来,普通的应用层程序虽然可以达到枚举句柄的目的,但是对于一部分具有特殊权限的文件及端口句柄来说,调用NtQueryObject函数可能导致线程挂起,对此我们的解决办法是让一个单独的线程执行N原创 2017-07-30 17:55:03 · 681 阅读 · 0 评论 -
监视并控制进程的创建
我们都知道,进程的创建会涉及比较多的行为,从开始的创建进程空间,创建句柄表等内核功能,之后映射可执行文件、主线程的运行,如果我们可以在其中的一个位置做手脚,进程的创建应该就会失败。这里我们使用的是系统回调函数的方法。 基本函数。 // 可以通知我们进程的创建NTSTATUS PsSetCreateProcessNotifyRoutine( IN PCREATE_PROC原创 2017-07-31 00:05:48 · 1091 阅读 · 0 评论 -
vs2015 WDK10 生成 <win7 的驱动
官方文档 https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/single-binary-opt-in-pool-nx-optin实例程序 配置 代码#include <ntddk.h>void DriverUnload(PDRIVER_OBJECT DriverOb原创 2017-08-22 15:09:30 · 2164 阅读 · 0 评论 -
驱动开发技术分享
这是一篇假的博客 经验就是,注重函数的执行环境(包括IRQL,锁,等等等等) 做底层HOOK 的时候尤其需要注意执行环境 语言规范,对于变量生存期以及多线程安全需要尤其注意。原创 2017-08-29 16:11:12 · 268 阅读 · 0 评论 -
Run-Down 保护
Run-Down 保护https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/run-down-protection * 从Windows XP 开始,内核可以使用 run-down 保护。驱动可以使用run-down 保护来安全访问另一个内核模式驱动在共享系统内存中创建和删除的对象。(这里“删除”的意思是,在翻译 2017-10-09 23:22:18 · 767 阅读 · 0 评论 -
Ring3 调用 NtQueryObject 获得文件句柄对应的对象名时调用线程死锁的原因
之前遗留的一个问题http://blog.csdn.net/qq_18218335/article/details/76400680 之前实现Ring3 查找文件占用的时候发现对部分句柄进行NtQueryObject 操作的时候会造成调用者线程挂起,从Ring3 解决问题的方法就是生成一个单独的工作线程,代替我们执行NtQueryObject 函数,如果工作线程挂起,则调用Kill原创 2017-10-03 16:43:57 · 2150 阅读 · 0 评论 -
内核模式到用户模式的回调函数----这篇文章是十年前国外大牛写的
内核模式到用户模式的回调函数http://www.nynaeve.net/?p=200 NTDLL 拥有一些特定的函数被内核用来代表用户模式执行特定的功能。尽管理解这些函数对于特定的功能(比如用户模式APC)的底层实现的理解是有用的,这些函数提供的功能非常的简单。 下面是一些NTDLL导出的,内核用于与用户模式通讯的函数: 1.KiUserExceptionDis翻译 2017-10-23 22:38:17 · 8150 阅读 · 0 评论 -
如何解决,virtualKD 加载windbg 后,没有设置符号路径
首先,使用VirtualKD构建双机调试,具体教程在这里:https://blog.csdn.net/coc_k/article/details/52034927在实际使用的时候,发现,每次都得自己手动配置符号的地址,很麻烦,这里我们的解决办法很多,下面的链接给出了,windbg 设置符号的位置的4中办法:https://blog.yowko.com/windbg-symbol-fil...原创 2018-11-26 22:18:05 · 500 阅读 · 1 评论