我正在写一个小型在线flash游戏,保持高分玩家。很显然,我希望让球员免于作弊并获得任意高分。如何在Flash游戏中作弊和避免作弊?
什么是在Flash游戏中作弊最常见的方法,我该怎么做才能使它很难使用它们?
我正在写一个小型在线flash游戏,保持高分玩家。很显然,我希望让球员免于作弊并获得任意高分。如何在Flash游戏中作弊和避免作弊?
什么是在Flash游戏中作弊最常见的方法,我该怎么做才能使它很难使用它们?
作弊的最常见方式是使用Cheat Engine。
See it in action在YouTube上,以及关于在最流行的游戏作弊的教程100。
为了在发送到服务器时保护高分,可以用嵌入在应用中的密钥对其进行数字签名,或者发送数据的HMAC(再次,嵌入在应用中的密钥)。
这个建议假定人们不要对你的Flash游戏进行逆向工程。并不是说这很难,但在大多数情况下,攻击Flash游戏有更简单的方法,所以这会提高一点。
网站类似http://nonoba.com,并且http://www.mochiads.com有高分API与内置保护功能,使如果只是个人项目,这可能是一个选择。
根据游戏的风格,可能有可能通过一种“重放”技术来验证服务器高分。
也就是说,不是将高分发送到服务器,而是将用户操作的记录发送到服务器。
这并不适合用在动作游戏中,但对于其他类型(如Fantastic Contraption,甚至桌面TD)来说,它是可行的。虽然也许你只会为特殊事件(tourneys)或类似的事情启用它,因为对于一个流行的游戏,这将是相当重要的。
我一直在使用GameInt API在http://www.gameknob.com与非常好的结果,因为int被加密。由于这个api使用一个随机密钥来进行xor加密,所以很难破解这些值。
希望这会有所帮助!
如果您希望游戏只能在您的服务器上运行,您还可以检测接收技巧中的信号发送位置,并忽略来自您的域的任何内容。如果您必须从专门的域名运行以提交分数,那么篡改您的代码将是一件非常痛苦的事情。
这也阻止了大部分CheatEngine的技巧。