我正在创建一个游戏,我真的很担心黑客攻击,所以我在游戏中写了一个反作弊,我搜索了现在的黑客是如何编写的,我发现了一些模式,首先,几乎每个 hack 都使用一个线程(通常使用 CreateThread())来创建检查循环(检查 hack 是否打开/关闭),你们有没有一个好方法来检查线程是否来自游戏?PS:I还使用代码外部的线程(在 DLL 内部)
问问题
625 次
1 回答
6
几乎可以肯定,找到一种“反作弊”的不同方式会更好,因为正如 cdhowie 指出的那样,没有什么可以阻止聪明的人用不符合你要求的东西来泼你的反作弊代码。
有一些技术效果更好:
让服务器来做所有“重要”的事情,比如计算你得到的分数和你还剩下多少生命,如果玩家变成了一个 Zoombie(在他死后试图移动),那就错了。
我认为效果不错的另一种方法是基本上记录玩家如何到达他们所在位置的“日志”——他们使用了多少生命,杀死了多少敌人,敌人的类型,每个敌人的得分,使用的武器,射击,完成所有这些需要多长时间,然后让服务器验证它是否“合理” - 所以如果有人增加他们的生命数量,或者改变武器以造成 100 倍的伤害,或者减慢敌人的速度或者加快玩家时间,它会出现在“日志”中,然后可以将日志作为“假”丢弃。
于 2013-09-05T22:10:15.493 回答