Problems
There are issues with GameGuard regarding problems with other programs. Many of the problems have been solved or are in the process of being resolved.[1] Currently, however, there still is an old unpatched privilege escalation bug present[2][3].
Because of its method of actuation (very similar to a rootkit[4]), it is criticized for being extremely invasive, often without knowledge of the end user. The software installs a device driver which is difficult to uninstall; even uninstalling the game will still leave some files hidden on the system[5], but it stays inactive without the game. Most anti-virus vendors currently exclude nProtect GameGuard from their detection databases due to it being commercial software, however this was initially not the case, leading to system crashes as both the Antivirus and GameGuard attempted to override each other. When installing a game that utilizes GameGuard, this program may be installed onto the client machine without the user's authorization or permission.
nProtect GameGuard constantly updates itself and provides new protection against the latest threats.
On some games such as MapleStory, the game itself does a hash check of the GameGuard revision currently running and will exit if it does not match the hash on the server side.[citation needed] This is a security measure from nProtect GameGuard to ensure that GameGuard has not been hacked and nProtect GameGuard should update to the latest version under normal circumstances. But it can be easily compromised with packet software, such as Russian PacketHack which is designed for packet interception and hacking on net-driver level.
Because of the way that GameGuard hooks into core system DLLs and interrupts[6], it is impossible (without hacking GameGuard and violating the TOS) to run games protected by GameGuard under Windows API Emulators, such as Wine under Unix-based operating systems[7]. The key issue being that GameGuard bypasses the OS safeguards in order to:
* Hide the game application process.
* Monitor the entire memory range.
* Terminate specific applications without the user consent (sometimes tries to disable Kernel hooks).
* Block specific calls to DirectX or the Windows API.