2012-12-05 80 views
4

我开发了一些Flash + PHP游戏,游戏逻辑位于PHP文件中。 Flash仅用于动画和UI。现在我有一个客户对我的游戏感兴趣,但是我们有某种交易,以便他可以在两个月内使用游戏,之后如果他不支付费用,游戏将停止工作。保护SWF + PHP

我想保护我的游戏,让他永远不能使用它们。我在想,当游戏开始时,它会向我的服务器发送一个请求,如果我的服务器响应PASS = 123456,那么游戏将工作,否则显示“GAME DISABLED”消息。

另一种方法是将PHP逻辑的一部分移到我的服务器,但这可能会导致游戏运行速度慢于预期。

我也尝试过Kindisoft的secureSWF,但是他们的软件改变了一些游戏的功能。

有没有人有一些其他的想法如何保护这个?

回答

0

只要逻辑不在您的服务器上,您必须先确保Flash文件尽可能保护,然后您可以从游戏到服务器进行任何类型的检查(只要闪光灯文件不会被破解,不管你做什么样的检查)。

http://active.tutsplus.com/tutorials/workflow/protect-your-flash-files-from-decompilers-by-using-encryption/

这里是关于SWF的保护,但在最后的swf一个很好的文章仍然是开放的格式,因此只要该文件是不是你的服务器上的逻辑是在PHP文件,不管你是什么它仍然可以被破解。

这就是说,控制游戏的最好方法是在你的服务器上有逻辑。

+0

逻辑仍在服务器上,我知道闪存仍然可能被破解。但是我希望当有人试图破解我的文件时,他不应该在1分钟内完成。反编译的努力应该大于实际为闪存应用付费。 – NVG

+0

很好地使用你可以在那篇文章中找到的技术,我认为你会覆盖那很好 – Atlantrix

+0

你真的认为一个2岁的文章是有用的吗? – NVG

0

如果客户端是一个熟练的编码员(或甚至enthousiast谷歌用户),他不会很难绕过初始密码测试。

唯一安全的事情(IMO)是举办你自己控制

+0

他可以通过使用一些DNS重定向来做到这一点? – NVG

3

使用公共密钥认证的服务器上的PHP - 验证他的PHP服务器。制作您的服务器证书颁发机构,在您的CA服务器上将公共时间有效的密钥保存在其服务器及其私人对应机构中。每次Flash游戏开始时 - 使用您的CA验证他的服务器。
该解决方案不是非常复杂,您可以使用标准工具来完成此操作。另外 - 没有真的黑客的Flash应用程序,他将无法克服此检查。它也是防窃听的。
最大的可能的问题将是他没有你的Flash应用程序使用你的PHP API。