跳转至

用户模式 Rootkit

GameGuard 利用用户模式 rootkit 拒绝机器人访问它们运行所需的 Windows API 函数。rootkit 在函数的最低级入口点钩住它们,通常在 ntdll.dll、user32.dll 和 kernel32.dll 中未文档化的函数内部。以下是 GameGuard 钩住的最著名 API 函数,以及 GameGuard 在每个被钩函数内部做什么:

NtOpenProcess():阻止对受保护游戏的任何 OpenProcess() 尝试。

NtProtectVirtualMemory():阻止对游戏的任何 VirtualProtect()或 VirtualProtectEx() 尝试。

NtReadVirtualMemory() 和 NtWriteVirtualMemory():阻止对游戏的任何 ReadProcessMemory() 和 WriteProcessMemory() 尝试。

NtSuspendProcess() 和 NtSuspendThread():阻止任何挂起 GameGuard 的尝试。

NtTerminateProcess() 和 NtTerminateThread():阻止任何终止 GameGuard 的尝试。

PostMessage()、SendMessage() 和 SendInput():阻止任何向游戏发送程序化输入的尝试。

SetWindowsHookEx():阻止机器人全局拦截鼠标和键盘输入。

CreateProcessInternal():自动检测并钩住新进程。

GetProcAddress()、LoadLibraryEx() 和 MapViewOfFileEx():阻止任何向游戏或 GameGuard 注入库的尝试。