首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
IoGetDeviceObjectPointer .
】的更多相关文章
IoGetDeviceObjectPointer .
从名字获得设备对象 驱动的起始地址,大小等信息.…
关于IoCallDriver使用的疑惑
#pragma PAGEDCODE NTSTATUS HelloDDKRead(IN PDEVICE_OBJECT pDevObj, IN PIRP pIrp) { KdPrint(("DriverB:Enter B HelloDDKRead\n")); NTSTATUS ntStatus = STATUS_SUCCESS; UNICODE_STRING DeviceName; RtlInitUnicodeString( &DeviceName, L"\\Device…
Ring0打开其他设备对象三种方式整理
1.通过ZwCreateFile打开其他设备的Handle,此函数只能得到句柄.ZwCreateFile与NtCreateFile区别在于NtCreateFile更加底层,ZwCreateFile是基于NtCreateFile的,但ZwCreateFile需要通过SSDT 2.通过IoGetDeviceObjectPointer打开其他设备,此函数得到PDEVICE_OBJECT,即设备的指针. 3.通过未公开函数ObReferenceObjectByName获取其他设备指针 IoGetDevi…
[转]C/C++ 实现文件透明加解密
今日遇见一个开超市的朋友,真没想到在高校开超市一个月可以达到月净利润50K,相比起我们程序员的工资,真是不可同日而语,这个世道啊,真是做程序员不如经商开超市, 我们高科技的从业者,真是造原子弹不如卖茶叶蛋. 请见代码详细注释 // 修复涉及后视列表的Win2K兼容性 // Fixes Win2K compatibility regarding lookaside lists. // #ifndef _WIN2K_COMPAT_SLIST_USAGE // Add content(增加内容)…
《Windows驱动开发技术详解》之分层驱动程序
分层驱动程序概念 分层的目的是将功能复杂的驱动程序分解成多个简单的驱动程序.一般来说,他们是指两个或两个 以上的驱动程序,它们分别创建设备对象,并且形成一个由高到低的设备对象栈.IRP请求一般会被传送到设备栈的最顶层的设备对象,顶层的设备对象可以选择 直接结束IRP请求,也可以选择将IRP请求向下层的设备对象转发.如果是向下层设备对象转发IRP请求,当IRP请求结束时,IRP会顺着设备栈的反方 向原路返回.当得知下层驱动程序已经结束IRP请求时,本层设备对象可以选择继续将IRP向上返回,或者选择…
《Windows驱动开发技术详解》之驱动程序调用驱动程序——通过设备指针调用其他驱动程序
本节介绍“手动”构造各个IRP,然后将IRP传递到相应驱动程序的派遣函数里. 获得设备指针 每个内核中的句柄都会和一个内核对象的指针联系起来.ZwCreateFile内核函数可以通过设备名打开设备句柄,这个设备句柄和一个文件对象的指针关联.IoGetDeviceObjectPointer内核函数可以通过设备名获得文件对象指针,而不是获得设备句柄.当调用IoGetDeviceObjectPointer内核函数后,设备对象的引用计数就会加1.当用完这个设备对象后,应该调用ObDereferenceO…
--------驱动开发之 ObReferenceObjectByName() 故障排查--------
------------------------------------------------------ 在写 filter driver 或 rootkit 时,经常需要 attach 到设备栈中的目标设备,来拦截途经的 IRP(I/O Request Packet),实现过滤功能.首先要获悉目标设备向 Windows Object Manager 维护的全局名称空间注册的 _DEVICE_OBJECT 名,此类信息可以通过像是 WinObj.exe 的工具获取. 接着调用 ObRefer…
Windows内核开发之串口过滤
学习了几个月的内核编程,现在对Windows驱动开发又了更加深入的认识,特别是对IRP的分层处理逻辑有了深入认识. 总结起来就几句话: 当irp下来的时候,你要根据实际情况,进行处理 1> 无处理,继续往下传 2> 处理之后 ,往下传 3> 处理之后, 往上传 4> 不做处理,直接丢弃 具体怎么理解,通过一个串口驱动过滤就可以深入理解. 一.串口过滤概念 串口过滤:平时我们看到的主机上的USB.网线口等都属于串口,那么设想一个环境,我去网吧上网,正在通过某宝付款,然后主机后面的US…
(转)支持 PS/2 与 USB 的键盘过滤驱动(可卸载)
Author: sinisterEmail: sinister@whitecell.orgHomepage:http://www.whitecell.org Date: 2007-02-26 /******************************************************************* 这个键盘过滤驱动是一个定时锁定计算机程序的功能部分,以前 lgx 写过一个 linux 版,现在我们需要实现一个 windows 版.这部分的 功能要求如下:…
转 Windows串口过滤驱动程序的开发
在Windows系统上与安全软件相关的驱动开发过程中,“过滤(filter)”是极其重要的一个概念.过滤是在不影响上层和下层接口的情况下,在Windows系统内核中加入新的层,从而不需要修改上层的软件和下层的真实驱动,就加入了新的功能. 过滤的概念和基础 1.设备绑定的内核API之一 进行过滤的最主要方法是对一个设备对象(Device Object)进行绑定.通过编程生成一个虚拟设备,并“绑定”(Attach)在一个真实的设备上.一旦绑定,则本来操作系统发送给真实设备的请求,就会首先发送的这个虚…