2013-08-05 61 views
0

我知道我无法直接在Flash中访问环境变量。访问闪存中的环境变量

我的项目是一个本地swf文件,从flash播放器运行而不是通过浏览器运行。 目标是保护SWF从未经授权的PC播放。 (这是我的客户要求)。

我的想法是将它嵌入到EXE中(例如在Delphi中制作)作为activeX。 我不确定这是最好的解决方案。

我认为AIR要做的更复杂。

另外,如何禁止直接访问SWF? 也许以任何方式嵌入swf?

任何的建议,提示,欢迎。

问候

+1

如何定义未经授权的PC? – divillysausages

+0

这是一个没有名为“authorized”的环境变量的例子。 – yarek

回答

1

我会说,我不认为有100%的方式来阻止未经授权的访问前言本 - 如果有,有好多是没有这样的事情的窗口盗版或闪光灯。你可以做的最好的事情是让它很难入侵。

几点建议:

  • 实际上,你可以访问环境变量,通过调用AIR外部过程中,采用的NativeProcess(此链接有一个快速新手必看:http://www.tikalk.com/js/get-windows-environment-variables-air-application) - 但它是微不足道的破解.bat或添加env var
  • 您可以实现自己的序列密钥系统并将密钥交给合法用户。理想情况下,需要通过服务器电话进行验证
  • 您可以编写一个“电话在家”的服务器调用 - 如果没有它,应用程序将无法工作。你如何识别你的用户真的取决于你;你可以通过IP尝试,但它并不是完美的
  • 您可以禁用本地执行(退房SecureSWF),和在线运行它,登录墙
  • 后面你可以禁用本地执行,并通过内联网运行,所以公司中的人可以使用它,但不是普通大众
  • 根据您的应用程序,在启动时,您可以从网上下载必要的文件(内容)。这可能需要登录,或者您可以阻止未经授权的IP。这就是育碧DRM如何在他们的一些游戏中工作。
  • 以类似的方式,您可以下载其他包含应用程序实际逻辑的SWF文件。这些主权财富基金将只存储在内存中,永远不会保存到磁盘

有了所有这些,应用程序可以最终被黑客入侵打开和修改(例如你的服务器校验码可以被删除,所以手机的家庭从来没有发生)。至少,通过类似SecureSWF(http://www.kindi.com/)的方式运行SWF以在任何公开发布之前对代码进行伪装。

这一切都取决于您想解决问题需要付出多少努力。对于涉及互联网的所有建议,如果网络关闭,您将无法使用您的应用程序,这可以理解会导致沮丧。对于所有不涉及互联网的建议,你永远不会知道它是否成功。