[开源]使用LoadImageNotifyRoutine抓取别人的驱动
以下代码由ChatGPT生成,我稍加修改了一下。只要把代码复制下来命名为***.c即可使用WDK7编译。#include <ntddk.h>
void LoadImageNotifyRoutine
(
PUNICODE_STRING FullImageName,
HANDLE ProcessId,
PIMAGE_INFO ImageInfo
)
{
if (!FullImageName || !ImageInfo->SystemModeImage)
{
return;
}
if (wcsstr(FullImageName->Buffer, L".sys"))
{
UNICODE_STRING source, destination;
OBJECT_ATTRIBUTES attr;
IO_STATUS_BLOCK ioStatus;
HANDLE sourceHandle, destHandle;
//注意:不建议使用如此大的局部变量,应该动态申请空间。AI可能偷懒了。
WCHAR destinationPath = L"\\??\\C:\\";
wcscat(destinationPath, wcsrchr(FullImageName->Buffer, L'\\') + 1);
RtlInitUnicodeString(&source, FullImageName->Buffer);
RtlInitUnicodeString(&destination, destinationPath);
InitializeObjectAttributes(&attr, &source, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
if (NT_SUCCESS(ZwCreateFile(&sourceHandle, GENERIC_READ, &attr, &ioStatus, NULL, FILE_ATTRIBUTE_NORMAL, 0, FILE_OPEN, FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0)))
{
InitializeObjectAttributes(&attr, &destination, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
if (NT_SUCCESS(ZwCreateFile(&destHandle, GENERIC_WRITE, &attr, &ioStatus, NULL, FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF, FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0)))
{
//注意:不建议使用如此大的局部变量,应该动态申请空间。AI可能偷懒了。
UCHAR buffer;
ULONG bytesRead, bytesWritten;
while (NT_SUCCESS(ZwReadFile(sourceHandle, NULL, NULL, NULL, &ioStatus, buffer, sizeof(buffer), NULL, NULL)) && ioStatus.Information > 0)
{
bytesRead = (ULONG)ioStatus.Information;
ZwWriteFile(destHandle, NULL, NULL, NULL, &ioStatus, buffer, bytesRead, NULL, NULL);
}
ZwClose(destHandle);
}
ZwClose(sourceHandle);
}
}
}
void DriverUnload(PDRIVER_OBJECT DriverObject)
{
PsRemoveLoadImageNotifyRoutine(LoadImageNotifyRoutine);
}
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
UNREFERENCED_PARAMETER(RegistryPath);
DriverObject->DriverUnload = DriverUnload;
return PsSetLoadImageNotifyRoutine(LoadImageNotifyRoutine);
}
为啥我要发这个帖子呢?原因在这:**** Hidden Message ***** 本帖最后由 jinfu 于 2025-3-3 18:48 编辑
666,被抓驱动特征是容易被进检测黑名单的。 看看发这个帖子的原因 学习一下 来看看 拦截驱动加载.数据重定向到文件. 看看!!!!!!!!!! 我来学习
页:
[1]