NtWarden 是 Windows 系统检查工具,界面基于 ImGui + DirectX 11,覆盖进程、服务、网络、内核内部、ETW、注册表、对象管理器等,可本地或经 WinSysServer 远程检查。内核驱动 KWinSys 支持 SSDT 钩子、内核回调、EPT 钩子检测、驱动完整性检查等深度分析。
架构:NtWarden 为 GUI 应用;WinSys 为静态库,负责进程、服务、网络枚举;KWinSys 为内核驱动;WinSysServer 为无头 TCP 服务器,用于远程检查。
构建要求:Visual Studio 2022、Windows SDK 10.0.26100.0+,KWinSys 另需 WDK。在 VS 2022 打开解决方案,选 Release | x64,Build All,输出位于 x64/Release/NtWarden.exe、WinSysServer.exe、KWinSys/KWinSys.sys。
运行:始终以管理员身份运行以获得完整功能。用户态功能(进程、服务、网络、ETW、注册表、对象管理器)无需驱动。内核驱动仅限测试 VM 使用,安装前启用测试签名:bcdedit /set testsigning on,VM 可能还需 bcdedit /set nointegritychecks on,重启后以管理员运行,切换到 Kernel Mode 标签会自动安装并启动 KWinSys。手动管理:sc create KWinSys type= kernel binPath= "C:\path\to\KWinSys.sys"、sc start KWinSys、sc stop KWinSys、sc delete KWinSys。
远程检查:将 WinSysServer.exe(必需)与 KWinSys.sys(仅内核功能)复制到目标机,以管理员运行 WinSysServer.exe --install(默认端口 50002,可用 --port 9000 自定义)。在 NtWarden 的 Remote 菜单输入目标 IP 与端口连接。协议为 TCP 自定义二进制协议,12 字节头(MessageType、DataSize、Status),无身份验证,仅限隔离实验/VM 环境。
WinSys 静态库提供进程、服务、网络枚举及 KernelInterface 等接口,可枚举内核模块、进程回调、分析进程(未背书可执行内存、镂空、直接系统调用、内联用户钩子、令牌信息)。内核标签需 KWinSys 已加载。
限制与排错:内核标签不显示时确认 KWinSys.sys 与 NtWarden.exe 同目录、以管理员运行、测试签名已启用;驱动安装失败可检查 sc query KWinSys 并删除残留;WinSysServer 连接被拒时检查目标端口与防火墙;用户钩子检测需 Capstone;性能覆盖层需在 Performance 标签启用。已测试 Windows 11 23H2、Windows 10 22H2、Windows 10 1703。仅需用户态功能时可在 VS 中卸载 KWinSys 项目。收费、价格与平台信息暂未提供。