摘要: 记录自己学习《Windows 内核驱动》章节中的串口过滤驱动。 先看下最终效果吧 图中并没有展示对串口1的读写监控,但是已经绑定成功了。 程序分为驱动程序和用户态程序ControlSerialPort.exe两部分用户态程序主要有两个功能:1、使用-L参数会遍历注册表枚举串口。2、以管理员权限使用- 阅读全文
posted @ 2022-11-01 16:12 psj00 阅读(342) 评论(0) 推荐(0)
摘要: 在编写串口代码时,需要枚举当前系统上的串口,通过api RegEnumValueA(W)可以遍历注册表HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM下的项,枚举串口,代码如下: #include <Windows.h>#pragma comment( 阅读全文
posted @ 2022-10-30 12:29 psj00 阅读(187) 评论(0) 推荐(0)
摘要: 使用IoCreateDevice创建的设备,在创建符号关联后,在用户态使用普通用户也可以打开此设备,不安全。 所以需要使用IoCreateDeviceSecure创建设备,有一个参数为PCUNICODE_STRING DefaultSDDLString,这个参数使用不同的值,可以给设备添加不同的安全 阅读全文
posted @ 2022-10-27 18:12 psj00 阅读(81) 评论(0) 推荐(0)
摘要: 在编写串口过滤驱动时,用户态调用接口到内核态读取串口消息时,需要等待事件,使用KeWaitForSingleObject KeWaitForSingleObject(&event, Executive, KernelMode, TRUE, 0); 第四个参数为Alertable,表明是否是可接警状态 阅读全文
posted @ 2022-10-27 13:48 psj00 阅读(25) 评论(0) 推荐(0)
摘要: Windows提供了API接口供程序使用,可以使用操作系统提供的功能。 大部分的API具体实现代码都在内核态R0层,用户态R3层的接口仅仅只有一小部分代码,用于调用内核态的代码。 早期的OS一般都通过中断门来实现从R3级切换到R0级,比如Linux下的int 80h、Windows NT和Windo 阅读全文
posted @ 2022-10-26 22:01 psj00 阅读(311) 评论(0) 推荐(0)
摘要: 我们一般使用的是管理员账户,如果开启了UAC,那么默认情况下双击一个程序时是以medium权限运行,称为受限的管理员权限,如果右键程序“以管理员权限运行”,那么程序是high权限,称为不受限的管理员权限。 权限由高到低分别为Low Medium High System权限,Low权限很少见,浏览器的 阅读全文
posted @ 2022-10-24 16:34 psj00 阅读(1584) 评论(0) 推荐(0)
摘要: 在用户态打开一个驱动设备链接时可以获取到一个句柄,这个句柄是基于当前进程的,句柄的值在当前进程的句柄表中作为索引。 调用CreateFile打开一个已存在的内核设备时,会触发设备所在驱动的IRP_MJ_CREATE请求派遣函数。 句柄对应的对象头在内核中用_OBJECT_HEADER结构体来表示,使 阅读全文
posted @ 2022-10-19 15:55 psj00 阅读(405) 评论(0) 推荐(0)
摘要: 为了在windows 64位系统上运行32位用户态程序,Windows操作系统有一个Wow64子系统来转换处理32位程序的调用请求。 当32位程序调用api接口时,32位接口会去调用64位的ntdll,如果存在指针,那么会把指针转化为8字节,从内核返回后,又会将64位指针转化为32位的。 还有 文件 阅读全文
posted @ 2022-10-16 11:42 psj00 阅读(508) 评论(0) 推荐(0)
摘要: 需要生成uuid时,可以使用Windows SDK自带的工具uuidgen.exe 如下 如果需要生成一千个,那么使用批处理生成到txt文件中,批处理脚本如下 @echo onfor /l %%i in (1,1,1000) do uuidgen.exe>>1.txtpause 最终生成的文件如下: 阅读全文
posted @ 2022-10-14 18:42 psj00 阅读(175) 评论(0) 推荐(0)
摘要: 使用VirtualKD-Redux 配合windbg进行虚拟机双机调试非常方便, 在实体机端选择custom按钮,自定义命令使用如下命令: "D:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -c "!sym noisy 阅读全文
posted @ 2022-10-14 16:40 psj00 阅读(718) 评论(0) 推荐(0)