【发布时间】:2011-12-17 20:04:07
【问题描述】:
在 Windows 7 和 Visual Studio 下是否有任何调试/预置参数或任何选项来防止其他进程挂接到我的进程?
我在 Visual Studio 下为 Windows 编写游戏,想知道是否有办法禁止用户挂接到游戏进程?
【问题讨论】:
-
钩子有多种形式。你想防止什么?
标签: c# visual-studio winapi
在 Windows 7 和 Visual Studio 下是否有任何调试/预置参数或任何选项来防止其他进程挂接到我的进程?
我在 Visual Studio 下为 Windows 编写游戏,想知道是否有办法禁止用户挂接到游戏进程?
【问题讨论】:
标签: c# visual-studio winapi
不,这是不可能的。即使您可以以某种方式禁用挂钩,用户仍然可以将调试器附加到您的进程并执行他们想要的任何操作。当然,这是设计使然:这就是您在编写问题时调试问题的方式。
一旦用户在他们的机器上安装了一个程序,假设他们有足够的权限,他们就可以完全控制这个程序。试图以编程方式限制它是徒劳的。
这个程序的解决方案不是用代码来解决的。您需要调查内置的 Windows 安全模型,例如创建受限用户帐户;在 Server Fault 上询问更多关于此的问题。
【讨论】:
简短的回答是否定的。
在 Windows 机器(与大多数其他机器一样)上,具有足够权限的用户总是能够检查和/或修改游戏进程地址空间的内容。
也就是说,您希望防御什么样的用户和/或攻击?您希望保护哪些资产?一旦您确定了这些,您就可以开始考虑如何设计您的应用程序,以便攻击者更难获得他们想要的东西。
我将从阅读Threat Modeling 开始。祝你好运!
【讨论】:
无法禁用。你想要做的是检测字节补丁、钩子,甚至只是在游戏内存区域中读取。但你最好放弃,因为不值得花时间。
【讨论】: