资源简介
64位环境下已签名驱动中实现加载未签名驱动,程序是源代码,可修改编译
代码片段和文件信息
#include “precomp.h“
#include “main.h“
#include “MemLoadDriver.h“
//卸载例程
VOID DriverUnload(PDRIVER_object pDriverobject)
{
KdPrint((“-->%s %d\n“ __FUNCTION__ __LINE__));
KdPrint((“<--%s %d\n“ __FUNCTION__ __LINE__));
}
//入口点函数
NTSTATUS DriverEntry(PDRIVER_object pDriverobject PUNICODE_STRING pRegistryPath)
{
UNICODE_STRING ustr = { 0 };
KdPrint((“-->%s %d\n“ __FUNCTION__ __LINE__));
//设置卸载函数
pDriverobject->DriverUnload = DriverUnload;
//获取函数地址RtlImageDirectoryEntryToData
RtlInitUnicodeString(&ustr L“RtlImageDirectoryEntryToData“);
fun_RtlImageDirectoryEntryToData = (Fun_RtlImageDirectoryEntryToData)MmGetSystemRoutineAddress(&ustr);
if (fun_RtlImageDirectoryEntryToData == NULL)
{
KdPrint((“%s %d: MmGetSystemRoutineAddress RtlImageDirectoryEntryToData failed\n“ __FUNCTION__ __LINE__));
goto End;
}
//获取函数地址IoCreateDriver
RtlInitUnicodeString(&ustr L“IoCreateDriver“);
fun_IoCreateDriver = (Fun_IoCreateDriver)MmGetSystemRoutineAddress(&ustr);
if (fun_IoCreateDriver == NULL)
{
KdPrint((“%s %d: MmGetSystemRoutineAddress IoCreateDriver failed\n“ __FUNCTION__ __LINE__));
goto End;
}
//获取函数地址RtlQueryModuleInformation
RtlInitUnicodeString(&ustr L“RtlQueryModuleInformation“);
fun_RtlQueryModuleInformation = (Fun_RtlQueryModuleInformation)MmGetSystemRoutineAddress(&ustr);
if (fun_RtlQueryModuleInformation == NULL)
{
KdPrint((“%s %d: MmGetSystemRoutineAddress RtlQueryModuleInformation failed\n“ __FUNCTION__ __LINE__));
goto End;
}
//内存加载驱动模块,文件路径为DRIVER_TO_MEMLOAD,驱动名为DRIVER_NAME
if (!MemLoadDriverByFilePath(DRIVER_TO_MEMLOAD DRIVER_NAME))
{
KdPrint((“%s %d: MemLoadDriverByFilePath failed\n“ __FUNCTION__ __LINE__));
}
else
{
KdPrint((“MemLoadDriverByFilePath Success!\n“));
}
End:
KdPrint((“<--%s %d\n“ __FUNCTION__ __LINE__));
return STATUS_SUCCESS;
}
- 上一篇:音乐简谱识别与演奏系统
- 下一篇:数据结构程序设计通讯录课程设计
相关资源
- 集群节点内存爆满优化
- ch340 win10 64位驱动
- CH340 CH341驱动,支持win7 win8 win10
- VTSoft win7 64驱动虚拟光驱驱动
- SJE金牌磁条读写器驱动程序
- 佳能MF633/635打印扫描一体驱动
- stream.c内存测试
- 仿照linux的buddy+slub内存管理算法
- 检查堆内存 踩内存,内存重复释放
- winPE下整合raid驱动安装windows2003
- CP5711驱动
- USB转串口驱动-CH340
- BIM X3650 m3 阵列卡驱动
- IR2104+IRF540电机驱动电路原理图
- 内存自BUFF单元开始的存储区连续存放
- 解决黑苹果键盘或触摸板不能用,亲
- CCD时序驱动电路设计
- 电机驱动模块 altium designer 文件.SchD
- 戴尔H730 H730P阵列卡驱动
- 寻迹小车驱动和主控电路图
- STM32 DS1302驱动代码
- VK2C23 驱动程序
- 基于arduino驱动步进电机旋转魔方的全
- 数码管驱动TM1640驱动程序
- 电机控制中MOSFET和IGBT基础知识
- 筑业软件驱动
- Virtual Audio Cable 4.10 Win10版
- 基于51单片机/高精度AD(24位)芯片
- LINUX 下的超声波驱动
- tb6612驱动模块
评论
共有 条评论