1

我正在开发一款在线模式的游戏,但它是开源的(SourceForge),任何人都可以下载代码、破解任何检查并使用被黑客户端与官方服务器对战。

我一直在考虑 EXE 文件 md5 检查,但任何人都可以计算真正的 md5sum 并将其发送到服务器,绕过运行时检查。

有什么方法可以保证客户端不被修改?我知道我必须使用服务器端检查,因为一切都可能被黑客入侵。其他选项是不提交代码的一小部分并发布仅在我的计算机中编译的 EXE 文件,拥有所有文件,但这违反了我认为的 SourceForge 规则。

4

1 回答 1

4

正如您所说,您需要检查服务器上的所有内容。
无论您是否发布源代码(记住 Reflector!),您绝不能相信客户端的任何事情(包括其自身的完整性)。

但是请注意,(理想情况下)您不需要让作弊成为不可能;你只需要通过作弊使完成任务比合法完成任务更难。
理性的人如果能够在不作弊的情况下更容易地完成某件事,他们就不会作弊来完成某件事。

但是,有些人会在黑客攻击的挑战中作弊,即使这比正常操作更难。

于 2012-01-06T02:26:44.207 回答