- https://www.youtube.com/watch?v=9h1FsOISwX0&list=PLt9cUwGw6CYHWuMtGHSgdLUaTo7aa2lEr
- 安装WDK: https://www.youtube.com/watch?v=HFobGp7VZeA
- 将系统改为测试模式 (opens new window)
hack.h:
#pragma once
#include <ntifs.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRrgister);
NTSTATUS UnloadDriver(PDRIVER_OBJECT pDriverObject);
messages.h:
#pragma once
#define DeBugMessage(x, ...) DbgPrintEx(0,0,x,__VA_ARGS__)
hack.c:
#pragma warning (disable : 4100)
#include "hack.h"
#include "messages.h"
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRrgister)
{
pDriverObject->DriverUnload = UnloadDriver;
DeBugMessage("my first driver.");
return STATUS_SUCCESS;
}
NTSTATUS UnloadDriver(PDRIVER_OBJECT pDriverObject)
{
DeBugMessage("unload driver");
return STATUS_SUCCESS;
}
/INTEGRITYCHECK
C:\WINDOWS\system32>sc create hackdriver type=kernel binpath="C:\Users\ajanuw\Desktop\hack\hackdriver\x64\Release\hackdriver.sys"
[SC] CreateService 成功
// 执行前,需要将系统改为测试模式
// 执行后重启电脑,将会在屏幕右下角看到进入测试模式
C:\WINDOWS\system32>bcdedit /set testsigning on
操作成功完成。
// 打开 DebugView
// 打开 capture->capture kernel选项
// 执行下面的命令将会看到"my first driver."信息
C:\WINDOWS\system32>sc start hackdriver
// 会看到"unload driver"信息
C:\WINDOWS\system32>sc stop hackdriver
// 查看服务状态
C:\WINDOWS\system32>sc query hackdriver
// (从注册表中)删除服务
// 删除注册表regedit:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services
C:\WINDOWS\system32>sc delete hackdriver