【问题标题】:How to disable an hooking to my process?如何禁用对我的进程的挂钩?
【发布时间】:2011-12-17 20:04:07
【问题描述】:

在 Windows 7 和 Visual Studio 下是否有任何调试/预置参数或任何选项来防止其他进程挂接到我的进程?

我在 Visual Studio 下为 Windows 编写游戏,想知道是否有办法禁止用户挂接到游戏进程?

【问题讨论】:

  • 钩子有多种形式。你想防止什么?

标签: c# visual-studio winapi


【解决方案1】:

不,这是不可能的。即使您可以以某种方式禁用挂钩,用户仍然可以将调试器附加到您的进程并执行他们想要的任何操作。当然,这是设计使然:这就是在编写问题时调试问题的方式。

一旦用户在他们的机器上安装了一个程序,假设他们有足够的权限,他们就可以完全控制这个程序。试图以编程方式限制它是徒劳的。

这个程序的解决方案不是用代码来解决的。您需要调查内置的 Windows 安全模型,例如创建受限用户帐户;在 Server Fault 上询问更多关于此的问题。

【讨论】:

    【解决方案2】:

    简短的回答是否定的。

    在 Windows 机器(与大多数其他机器一样)上,具有足够权限的用户总是能够检查和/或修改游戏进程地址空间的内容。

    也就是说,您希望防御什么样的用户和/或攻击?您希望保护哪些资产?一旦您确定了这些,您就可以开始考虑如何设计您的应用程序,以便攻击者更难获得他们想要的东西。

    我将从阅读Threat Modeling 开始。祝你好运!

    【讨论】:

      【解决方案3】:

      无法禁用。你想要做的是检测字节补丁、钩子,甚至只是在游戏内存区域中读取。但你最好放弃,因为不值得花时间。

      【讨论】:

        猜你喜欢
        • 2011-03-09
        • 1970-01-01
        • 2012-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多