usbmon.h
来自「usb透明加密驱动程序源代码」· C头文件 代码 · 共 77 行
H
77 行
#ifndef __USB_MON_H__
#define __USB_MON_H__
#include <ntddk.h>
#include <srb.h>
#include "nttypes.h"
#define IoGetIrpStackLocation( Irp , Level) ((Irp)->Tail.Overlay.CurrentStackLocation + Level)
#define MAX_MDL_LIST 32 //并发IRP
typedef struct _GLOBALS
{
HANDLE PnpHookHandle;
HANDLE ScsiHookHandle;
HANDLE fsdReadHookHandle;
HANDLE fsdWriteHookHandle;
HANDLE ScsiReadCompletionHandle;
PDRIVER_OBJECT UsbStorDriver;
PDRIVER_OBJECT FastFatDriver;
BYTE Key[128]; //128BIT密钥
PVOID CryptMdlList[MAX_MDL_LIST]; //需加解密的MDL地址表
ULONG CryptMdlNum;
} GLOBALS;
NTSTATUS
HookPnpDevice(
IN HANDLE OrgFunction,
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HookUsbScsi(
IN HANDLE OrgFunction,
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
HookFsdReadWrite(
IN HANDLE OrgFunction,
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
VOID
UsbMonUnload(
IN PDRIVER_OBJECT DriverObject
);
NTSTATUS
HookIoCompletionRoutine(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
NTSTATUS
InlineHookIoCompletionRoutine(
IN HANDLE OrgFunction,
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
IN PVOID Context
);
PVOID
SetupIoCompletionRoutineHook(
IN PIRP Irp,
IN PIO_STACK_LOCATION irsp,
IN PIO_COMPLETION_ROUTINE HookHandle
);
extern GLOBALS Globals;
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?