如何欺骗和避免在Flash游戏中作弊?

时间:2009-01-25 06:26:31

标签: flash

我正在写一个小型的在线Flash游戏,可以保留很多玩家。显然,我希望让球员不要作弊并获得任意高分。

在Flash游戏中作弊最常用的方法是什么?如何使其难以使用?

7 个答案:

答案 0 :(得分:3)

欺骗的最常见方式是使用Cheat Engine

YouTube上的

See it in action,以及有关最受欢迎游戏作弊的100多个教程。

让人们不要作弊几乎是不可能的。但是有several methods用于保护高分表,这可能适用于作弊。

答案 1 :(得分:2)

  • 使用Burp / Fiddler或Tamper Data Firefox Extension之类的代理进行最简单的欺骗。
  • 阅读http://www.playnoevil.com/serendipity/博客,该家伙还发布了一本关于作弊和保护在线游戏(尤其是闪存)的书。
  • 有第三方解决方案(主要是混淆 - 但非常复杂)
  • 显然,攻击者可以使用反编译器并读取闪存代码,因此不要认为他们不知道您的代码(不要忘记对代码进行模糊处理)

答案 2 :(得分:2)

http://nonoba.comhttp://www.mochiads.com等网站的高分API具有一些内置保护,因此如果它只是个人项目,则可能是一个选项。

答案 3 :(得分:1)

要保护发送到服务器的高分,请使用应用中嵌入的密钥对其进行数字签名,或者发送数据的HMAC(同样,应用中嵌入的密钥)。

此建议假设人们不对您的Flash游戏进行逆向工程。并不是说这很难,但在大多数情况下,有更容易的方法来攻击Flash游戏,所以这会提高一点吧。

答案 4 :(得分:1)

根据游戏风格,可以通过一种“重播”技术验证服务器的高分。

即,不是将高分发送到服务器,而是将用户操作的记录发送到服务器。

这不适合在动作游戏中使用,但对于其他类型(例如Fantastic Contraption,甚至是桌面TD),它是可行的。虽然也许你只会为特殊事件(比赛)或类似事件启用它,因为对于一个流行的游戏,这将是相当沉重的。

答案 5 :(得分:1)

如果您希望游戏仅在您的服务器上运行,您还可以在接收技巧中检测信号的发送位置,并忽略不属于您的域的任何内容。如果您必须从专用域运行以提交分数,那么篡改您的代码将是一个真正的痛苦。

这也阻止了CheatEngine的大部分技巧。

答案 6 :(得分:0)

我一直在http://www.gameknob.com使用GameInt API,效果非常好,因为int是加密的。由于这个api使用随机密钥进行xor加密,因此很难破解这些值。

希望这有帮助!