2009-01-25 141 views
3

我正在写一个小型在线flash游戏,保持高分玩家。很显然,我希望让球员免于作弊并获得任意高分。如何在Flash游戏中作弊和避免作弊?

什么是在Flash游戏中作弊最常见的方法,我该怎么做才能使它很难使用它们?

回答

3

作弊的最常见方式是使用Cheat Engine

See it in action在YouTube上,以及关于在最流行的游戏作弊的教程100。

让人们不要作弊几乎是不可能的。但有保障高分表的severalmethods,这可能适用于一般作弊。

1

为了在发送到服务器时保护高分,可以用嵌入在应用中的密钥对其进行数字签名,或者发送数据的HMAC(再次,嵌入在应用中的密钥)。

这个建议假定人们不要对你的Flash游戏进行逆向工程。并不是说这很难,但在大多数情况下,攻击Flash游戏有更简单的方法,所以这会提高一点。

2
  • 使用Burp/Fiddler或Tamper Data Firefox Extension等代理来获得最简单的作弊行为。
  • http://www.playnoevil.com/serendipity/的博客,那家伙还发布了一本关于欺骗,保护网络游戏(特别是闪存)
  • 有第三方解决方案(主要是困惑 - 但非常复杂)
  • 显然,攻击者可以利用反编译和读取闪存代码,因此不要以为他们不知道你的代码(不要忘了模糊处理的代码)
1

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

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

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

0

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

希望这会有所帮助!

1

如果您希望游戏只能在您的服务器上运行,您还可以检测接收技巧中的信号发送位置,并忽略来自您的域的任何内容。如果您必须从专门的域名运行以提交分数,那么篡改您的代码将是一件非常痛苦的事情。

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