会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
pangshangji
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2022年11月1日
控制台显示Windows串口过滤的内容
摘要: 记录自己学习《Windows 内核驱动》章节中的串口过滤驱动。 先看下最终效果吧 图中并没有展示对串口1的读写监控,但是已经绑定成功了。 程序分为驱动程序和用户态程序ControlSerialPort.exe两部分用户态程序主要有两个功能:1、使用-L参数会遍历注册表枚举串口。2、以管理员权限使用-
阅读全文
posted @ 2022-11-01 16:12 psj00
阅读(342)
评论(0)
推荐(0)
2022年10月30日
通过注册表枚举串口
摘要: 在编写串口代码时,需要枚举当前系统上的串口,通过api RegEnumValueA(W)可以遍历注册表HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM下的项,枚举串口,代码如下: #include <Windows.h>#pragma comment(
阅读全文
posted @ 2022-10-30 12:29 psj00
阅读(187)
评论(0)
推荐(0)
2022年10月27日
驱动创建设备时带sddl
摘要: 使用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)
2022年10月26日
Windows用户态到内核态
摘要: Windows提供了API接口供程序使用,可以使用操作系统提供的功能。 大部分的API具体实现代码都在内核态R0层,用户态R3层的接口仅仅只有一小部分代码,用于调用内核态的代码。 早期的OS一般都通过中断门来实现从R3级切换到R0级,比如Linux下的int 80h、Windows NT和Windo
阅读全文
posted @ 2022-10-26 22:01 psj00
阅读(311)
评论(0)
推荐(0)
2022年10月24日
Windows创建高权限进程和低权限进程
摘要: 我们一般使用的是管理员账户,如果开启了UAC,那么默认情况下双击一个程序时是以medium权限运行,称为受限的管理员权限,如果右键程序“以管理员权限运行”,那么程序是high权限,称为不受限的管理员权限。 权限由高到低分别为Low Medium High System权限,Low权限很少见,浏览器的
阅读全文
posted @ 2022-10-24 16:34 psj00
阅读(1584)
评论(0)
推荐(0)
2022年10月19日
IRP cleanup和close的调用时机
摘要: 在用户态打开一个驱动设备链接时可以获取到一个句柄,这个句柄是基于当前进程的,句柄的值在当前进程的句柄表中作为索引。 调用CreateFile打开一个已存在的内核设备时,会触发设备所在驱动的IRP_MJ_CREATE请求派遣函数。 句柄对应的对象头在内核中用_OBJECT_HEADER结构体来表示,使
阅读全文
posted @ 2022-10-19 15:55 psj00
阅读(405)
评论(0)
推荐(0)
2022年10月16日
Wow64知识
摘要: 为了在windows 64位系统上运行32位用户态程序,Windows操作系统有一个Wow64子系统来转换处理32位程序的调用请求。 当32位程序调用api接口时,32位接口会去调用64位的ntdll,如果存在指针,那么会把指针转化为8字节,从内核返回后,又会将64位指针转化为32位的。 还有 文件
阅读全文
posted @ 2022-10-16 11:42 psj00
阅读(508)
评论(0)
推荐(0)
2022年10月14日
Windows CMD批处理
摘要: 需要生成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)
windbg-双机调试 远程调试
摘要: 使用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)
上一页
1
2
3
4
5
下一页
公告