0

我为一款名为 Crysis Wars 的 PC 游戏编程,最近玩家一直在要求更新游戏(社区补丁)来解决问题,包括一个颇具讽刺意味的脚本错误。

有几种被称为 Infinium、Gamg、Annihilator 和 Longpoke 的游戏黑客,它们依靠 DLL 注入方法在游戏中放置黑客和作弊,而不会注意到内部反作弊系统。这些 hack 非常简单,通过修改十六进制值来利用主游戏 DLL 的代码,有些(如 Gamg)是使用游戏引擎自己的 SDK 制作的(我知道这个 hack 的创建者)。

和其他人一样,我可以访问 CryEngine 2(游戏引擎)SDK(包括主游戏 dll 的源代码),我建议修改所有游戏功能(客户端和服务器)的名称和位置,以便现有的黑客将不再起作用。

这是否可以阻止通过修改主游戏 dll 的十六进制值进行的黑客攻击?我确认使用 SDK 进行的黑客攻击将不再起作用,但我想在尝试此之前与其他人核实,因为这需要大量工作。

基本上,我要问的是:

黑客通过更改源代码来利用游戏中的 DLL,如果我更改源代码中的所有功能并为游戏发布(社区)更新(不发布新的源代码),黑客是否能够使用同样的黑客没有任何问题?

如果这看起来令人困惑,我深表歉意 - 如果我需要更清楚,请务必说出来。

4

1 回答 1

3

你会破坏一切,合法和非法的模组。非法模组可能很快就会被修复;对您提议的更改进行逆向工程非常简单。

更好的方法是打开数据执行保护并挂钩绕过 DEP 所需的 VirtualProtect 功能。然后,您将能够捕获安装稍后挂钩的尝试。当然,请检查是否没有现有的 VirtualProtect 挂钩,也没有任何已知的 DLL hack 已经存在。

于 2014-02-14T13:07:05.850 回答