是否可以保护swf文件?

时间:2009-06-23 20:12:04

标签: flash actionscript-3

如果我们创建一个在线SWF应用程序,有没有办法保护它,以便其他人不下载并将其放在他们的网站上?例如,Webkinz是用Flash制作的,但没有人在整个游戏解锁的情况下在他们的服务器上进行盗版。什么是Webkinz我们可以做的事情?

谢谢!

6 个答案:

答案 0 :(得分:6)

1-使用高级混淆器(例如secureSWF)对ActionScript进行混淆。

2-域锁定您的SWF文件。

3-创建一个虚拟加载器,重命名原始SWF文件并更改其扩展名,然后使用虚拟加载器加载原始SWF文件。

4-确保防止热链接。 (这取决于您的网络服务器)

5-加密ActionScript中的敏感字符串;在您的代码中手动操作,或者您也可以使用secureSWF。

答案 1 :(得分:4)

请注意,此处的所有答案都是针对某些人重新托管您的闪存更加困难或烦恼的方式的变体。没有办法阻止有人这样做,除非你混淆防御的能力超过攻击者去除它们的能力。

至于我要做什么,我会用这样的代码撒上我的代码:

// in a display object
if ( loaderInfo.url != "http://example.com/my/real/content.swf" ) {
    // blow up
}

这应该阻止任何无法访问反编译器的人。如果这还不够好,唯一的答案是投资混淆器,因为除非你的代码被混淆,否则你所做的任何其他事情都不会产生任何影响。

答案 2 :(得分:1)

如果你喜欢Webkinz,你可以很难窃取你的swf文件,因为他们有一个嵌入在页面中的主要电影(所以用户知道那部电影的网址)。所有后续电影都以编程方式加载到该原始电影中。当然有人使用Flash反编译器可以反编译你的电影并查看路径,但是你甚至可能会遇到使这些MovieClip的名称模糊不清的麻烦。

答案 3 :(得分:1)

我们已经对市场上的所有swf工具进行了广泛测试,除了secureswf之外没有其他工具。然而,在应用了许多组合设置后,我的swf被发现破坏的地方并非没有问题。沮丧,我决定用PHP更好的想法,这类似于“复制受保护的音频CD”的工作方式。

演示如何使用PHP来保护您的SWF。 http://wildfiremedia.com.sg/demo.php

答案 4 :(得分:1)

相信我,PHP无法保护您的SWF。我已经在SWF Security工作多年,我可以绕过任何安全或所谓的加密SWF。

SWF没有100%的安全性,但是如果你想知道如何让它尽可能安全,我可以提供帮助。你可以通过gf的swfprotection与我联系

请记住,PHP无法保护SWF。

答案 5 :(得分:0)

这主要取决于您的网络服务器软件。如果是PHP,则可以使用readfile()。 请参阅示例here。将.swf本身存储在webroot上,然后在调用readfile之前使用一些身份验证。在此设置中,您将使用readfile()调用代替.swf调用php文件。

所以它可能会以极其简化的方式看起来像这样: fakeswf.php:

if (authenticate()) {
    header("Content-Type: application/flash");
    readfile("../realswf.swf");
    }
else {
    header("Content-Type: text/html");
    echo "Nothing to see here.";
    }

的index.html:

<a href="fakeswf.php">Click here to play my game</a>

就浏览器而言(如果按照示例正确设置标题),fakeswf.php是一个.swf文件。

重要说明:我实际上并未查找.swf文件的正确内容类型。请务必查找并相应更改。