Flash游戏黑客

时间:2010-10-06 13:51:14

标签: flash security

我通常在我的网站上组织锦标赛(基于闪存),这次我添加了一个锦标赛,用户必须完成拼图游戏,并且在最短的时间内完成游戏的人赢得一些奖品。由于拼图游戏总是产生随机位置,因此他们很难入侵。他们甚至不能直接下载游戏,因为它无法使用闪存保护程序等下载。但我想知道他们是否可以制作一个自动完成拼图游戏的程序。

请告诉我。即使时间不能被黑客攻击,因为我在服务器端使用时间也打勾,所以我匹配游戏提交的时间和存储在我服务器中的时间。

5 个答案:

答案 0 :(得分:2)

那么Flash应用程序如何告诉服务器拼图已经解决了?使用TamperData攻击者可以拦截/修改/重播此请求,即使它是通过HTTPS进行的。如果您尝试嵌入一个秘密,可以通过反编译Flash应用程序甚至在应用程序运行时调试闪存并在内存中查找密码来获取。

通常我会说你要做的事情是不可能的。但让我们玩这个元安全难题。它是一个拼图游戏吗?这意味着这个难题只有一个解决方案。所以你可以使用一些加密来解决这个问题,解决方案与Message Authentication Code非常相似,但这有点不同。

当谜题启动时,Flash应用程序将请求拼图。为每个拼图块分配一个随机数以及一个随机位置,该位置被发送到闪存侧。解决后,您可以根据拼图中的各个部分连接每个数字。所以在闪存方面总是将数字从左到右连接然后向下连接。当Flash客户端获得拼图时,数字将会出现故障,唯一的方法就是拼图已经解决了。当它解决时,然后采用连接数字的哈希值。理想情况下你应该使用sha256,虽然md5可以工作,因为攻击者不知道哈希值所以碰撞不起作用

服务器知道拼图何时开始,因为闪存侧请求与拼图相对应的数字。服务器知道拼图何时完成,因为闪存侧传输了解决方案散列。服务器提前知道解决方案哈希是什么,因为它分配了数字。这很像一个mac,但区别在于秘密就是拼图所在的顺序。

答案 1 :(得分:0)

是的,它可以被黑客入侵。首先,不要太相信你对'闪光保护程序'的保护。一个确定的对手的将会的能够检索代码 - 毕竟,代码的是用户的计算机上的,它不能运行,否则

其次,'随机位置'并不一定意味着太多。如果有任何关于作品的唯一ID,或者随机化在客户端完成,可以很容易地放在他们应有的位置。您必须至少随机化切割的形状。即便如此,考虑到原始图像,编写快速求解器也不会太难。

哦,这一切都假设你的服务器做了更多的验证而不是在用户完成时被告知。你需要确保他们确实解决了这个问题 - 但我并不相信这是一个人工智能问题;看来,即使你的闪存代码是不可破解的,如果这组图像的小,这将是足够简单,找出每件的正确方向和位置。

答案 2 :(得分:0)

抱歉评论选项不存在 实际上我已经使用xml文件来描述拼图的位置(每个)。 而且随着时间的推移,它被隐藏起来,并且使用篡改的日期,他只能看到随机的没有。你可以说像mysql的s.no。 它像验证时间和游戏时间,每个都有不同的字符串 所以我的问题是,如果有人可以使用我的xm文件来检测拼图的位置,并创建一个应用程序,以适应每个拼图在正确的地方只是一个clikc

答案 3 :(得分:0)

在客户端 - 服务器游戏中避免作弊的唯一方法是让客户端只是一个GUI并确认服务器上的每个用户操作。如果这样理想的客户端应用程序甚至不知道如何回答用户(直到服务器发送诸如'在方块7中的方块7上播放动画5'之类的东西')

答案 4 :(得分:0)

数据包编辑,他们可以使用wireshark之​​类的东西来捕获数据包,如果时间是在他们的浏览器中写的,他们会得到一个数据包,告诉他们使用的时间,他们可以使用代理来做中间攻击的人,他们编辑数据包说你用的时间较少,或者只是在Python中创建一个简单的UDP数据包发送者。即使你没有安装游戏,他们仍然在运行它,他们可以通过在HTML源代码中找到swf来下载flash游戏。指向存储此游戏的页面的链接。