⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.cpp

📁 一些有C制作Fire Wall的代码
💻 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 + -