📄 init.cpp
字号:
#include "hookndis.h"
#include "init.h"
#include "hook.h"
#include "myfun.h"
#include "fun.h"
#include "memory.h"
#include "WINDEF.H"
#pragma code_seg("INIT")
extern "C"
NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
{
PVOID m_NdisBaseAddress=NULL;
NTSTATUS status = STATUS_SUCCESS;
if(GetNdisModuleAddress(m_NdisBaseAddress) && m_NdisBaseAddress != NULL)
{
if(HookFun(m_NdisBaseAddress, "NdisSend", MY_NdisSend, (ULONG*)&m_pNdisSend) == NULL)
dprintf(("Hook NdisSend Failure\n"));
else
dprintf(("Hook NdisSend Success\n"));
if(HookFun(m_NdisBaseAddress, "NdisRegisterProtocol", MY_NdisRegisterProtocol, (ULONG*)&m_pNdisRegisterProtocol) == NULL
)
dprintf(("Hook NdisRegisterProtocol Failure\n"));
else
dprintf(("Hook NdisRegisterProtocol Success\n"));
if(HookFun(m_NdisBaseAddress, "NdisOpenAdapter", MY_NdisOpenAdapter, (ULONG*)&m_pNdisOpenAdapter) == NULL
)
dprintf(("Hook NdisOpenAdapter Failure\n"));
else
dprintf(("Hook NdisOpenAdapter Success\n"));
}
DriverObject->MajorFunction[IRP_MJ_CREATE] = Open;
DriverObject->MajorFunction[IRP_MJ_CLOSE] = Close;
DriverObject->MajorFunction[IRP_MJ_READ] = Read;
DriverObject->MajorFunction[IRP_MJ_WRITE] = Write;
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = Cleanup;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = IoControl;
return status;
}
#pragma code_seg()
#pragma code_seg("PAGE")
VOID DbpUnload(IN PDRIVER_OBJECT DriverObject)
{
}
#pragma code_seg()
//
// IRP_MJ_CREATE
//
NTSTATUS
Open(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
return 0;
}
//
// IRP_MJ_CLOSE
//
NTSTATUS
Close(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
return 0;
}
//
// IRP_MJ_CLEANUP
//
NTSTATUS
Cleanup(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
return 0;
}
//
// IRP_MJ_READ
//
NTSTATUS
Read(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
return 0;
}
//
// IRP_MJ_WRITE
//
NTSTATUS
Write(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
return 0;
}
NTSTATUS
IoControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
)
{
return STATUS_SUCCESS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -