xuepojie 发表于 2022-2-27 04:58:09

C/C++ Win64 IO读写源码

本帖最后由 xuepojie 于 2022-2-27 05:19 编辑

语言:C/C++
工具:VS2017+WDK10,signtools,InstDrv,Dbgview,Win10虚拟机
知识:驱动结构与逻辑,R3.exe编写




------------------------------------DeviceIoControl方式sys和exe通信---------------------------------------------
常识:
IRP:I/O RequestPackage即输入输出请求包exe和sys通信时,exe会发出I/O请求。
操作系统会将I/O请求转化为相应的IRP数据,不同类型传递到不同的dispatch function
通信过程:
就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL(DeviceIoControl函数会产生此IRP)
MinorFunction 为自己定义的控制码的IRP,系统就调用相应的处理IRP_MJ_DEVICE_CONTROL的派遣函数,你在派遣函数中判断MinorFunction ,是自定义的控制码你就进行相应的处理。

千城不会REZ 发表于 2022-3-8 23:15:31


识:
IRP:I/O RequestPackage即输入输出请求包exe和sys通信时,exe会发出I/O请求。
操作系统会将I/O请求转化为相应的IRP数据,不同类型传递到不同的dispatch function
通信过程:
就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL(DeviceIoControl函数会产生此IRP)
MinorFunction 为自己定义的控制码的IRP,系统就调用相应的处理IRP_MJ_DEVICE_CONTROL的派遣函数,你在派遣函数中判断MinorFunction ,是自定义的控制码你就进行相应的处理。

WaveLin 发表于 2022-3-4 18:01:42

{:smile:}{:smile:}{:smile:}{:smile:}{:smile:}

残烨 发表于 2022-2-28 00:21:00

DeviceIoControl方式sys和exe通信

dzc123 发表于 2022-2-27 23:23:20

Win64 IO读写源码

qq1637516375 发表于 2022-2-27 22:38:18

DeviceIoControl方式sys和exe通信

ysc3507595911 发表于 2022-2-27 12:18:32

识:
IRP:I/O RequestPackage即输入输出请求包exe和sys通信时,exe会发出I/O请求。
操作系统会将I/O请求转化为相应的IRP数据,不同类型传递到不同的dispatch function
通信过程:
就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL(DeviceIoControl函数会产生此IRP)
MinorFunction 为自己定义的控制码的IRP,系统就调用相应的处理IRP_MJ_DEVICE_CONTROL的派遣函数,你在派遣函数中判断MinorFunction ,是自定义的控制码你就进行相应的处理。

首席研究员 发表于 2022-2-27 12:00:55

DeviceIoControl方式sys和exe通信

2121560 发表于 2022-2-27 10:27:29

{:titter:}{:titter:}

qq1018796445 发表于 2022-2-27 08:20:28

------------------------------------DeviceIoControl方式sys和exe通信---------------------------------------------
常识:
IRP:I/O RequestPackage即输入输出请求包exe和sys通信时,exe会发出I/O请求。
操作系统会将I/O请求转化为相应的IRP数据,不同类型传递到不同的dispatch function
通信过程:
就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL(DeviceIoControl函数会产生此IRP)
MinorFunction 为自己定义的控制码的IRP,系统就调用相应的处理IRP_MJ_DEVICE_CONTROL的派遣函数,你在派遣函数中判断MinorFunction ,是自定义的控制码你就进行相应的处理。
页: [1]
查看完整版本: C/C++ Win64 IO读写源码