寒江独钓-Windows内核安全编程总结

本文总结了Windows内核安全编程,涉及内核编程工具的安装和调试,如WDK和WinDbg。讲解了设备绑定API如IoAttachDevice,以及创建设备、获取设备对象的方法。还探讨了键盘输入的处理流程和如何过滤键盘操作,包括通过过滤驱动、Hook技术以及修改中断处理。最后提到了文件访问的驱动结构和通信端口的创建与使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内核编程工具集安装:
1:下载安装WDK
2:编写程序(DrvierEntry必选),编译
3:利用srvinstw.exe等工具安装服务,用net start启动服务
4:使用WinDbg,利用串口和虚拟机通信,将目标系统设置为调试模式启动,这样就可以调试系统了。需要设置WinDbg的内核符号表路径,这样可以实现源码级内核调试。

 

特殊宏:
IN,OUT:输入输出
__in_bcount(Length):输入,并且长度为Length
#pragma alloc_text(INIT, DriverEntry):指定代码位置

 

设备绑定API:
NTSTATUS IoAttachDevice(
 IN PDEVICE_OBJECT SourceDevice,
 IN PUNICODE_STRING TargetDevice,
 OUT PDEVICE_OBJECT *AttachedDevice
);
NTSTATUS IoAttachDeviceToDeviceStackSafe(
 IN PDEVICE_OBJECT SourceDevice,
 IN PDEVICE_OBJECT TargetDevice,
 IN OUT PDEVICE_OBJECT *AttachedToDeviceObject
);
PDEVICE_OBJECT IoAttachDeviceToDeviceStack(
 IN PDEVICE_OBJECT SourceDevice,
 IN PDEVICE_OBJECT TargetDevice
);

 

生成设备:
NTSTATUS IoCreateDevice(
 IN PDRIVER_OBJECT DriverObject,
 IN ULONG D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值