和混淆器
除了阻碍反编译器的技术之外,我们还可以使反编译的结果不容易读。你可以浏览关于混淆器的网站。
基本上,它是对变量和函数的名字进行重命名。
function -3(-4){trace(-4);}
function -1(0,-2){
if(0<-2){-3(1);}
}
肯定的是,偷窃者不能仅仅是拷贝、粘贴就能使用这些代码。编译器不允许你对一个函数进行这样的命名。
混淆器的局限是改变函数的名字可能给下面的脚本代码带来麻烦。
function myFun(){trace("myFun");}
a="my";
b="Fun";
this[a+b]();
另一个技术是使函数的名字不可显示。比如,用汉字作为函数名,反编译器可能就会不能很好的显示它。然后,我们便会看到:
function ?(){?,?){?.?=?;}
ASV 4使用unicode编码显示不可显示字符,所以,结果是易读的,只不过增加了点轻微的难度。
自我保护
如果你找到一个很好的方法来保护自己的SWF不备反编译,不要与别人分享这个方法,至少不要再因特网上公开它。当然,它不能过100%的防反编译,至少对
我来说是这样。但是,不是所有的人都对SWF的格式了如指掌。许多,偷窃者仅仅只会借助软件来反编译SWF。因此,如果你的目的是尽可能少的偷窃者能够偷
窃你的SWF,那么请保护好你的(白虎SWF的)秘密方法。
只是在此提醒你,你的SWF是无保护的。对于熟悉SWF格式的人来说,所有东西都是毫无遮掩的。如果你的目标只是保护“一些函数”的话,它应该是安全的。他们未必会窃取你的函数,他们会编写自己的函数。
通用保护措施
我们在网站上放了个联机游戏,不幸的是,许多访问者只是访问我们的站点仅仅一次而已,然后利用下载的版本来离线玩。有时,我们甚至发现我们的游戏出现在其他的站点上。
为了避免这种情况发生,下面是可采取的保护措施:
1. 所属领域检查
编
写脚本检查_url,如果_url是"http://www.myDomain.net/game.SWF"就播放影片,否则不播放或者退出。当离线播放
的时候,_url应该像"file://C|
someSub/game.SWF";但它在其它domain中时,_url就形如"http://www.others.net/game.SWF"。
因此,这个技术可以恰当的加上一些保护。当然,对于心存不良的反编译者来说是无用的。那些脚本可以借助Flasm来删除或者修改为不检查。尽管在其它公开
场合未必能看到被破解的SWF文件,但是离线也能够播放的SWF就可能发生上述情况。
2. 服务端口令验证
编
写脚本,并且在开始游戏时从服务端加载密码。如果密码为空,则停止游戏或者退出游戏。这很容易被怀有恶意的用户破解,他们只要编辑SWF文件,将那些脚本
删除即可。哪些脚本不可以被删除呢?当开始游戏时,从服务端加载的地图数据是进行游戏必须的,所以心存不良的用户不可能删除这些脚本。为了进行游戏,它必
须提供这些地图数据。当然,它可以从缓存在临时文件夹中的数据中挑选地图数据,提供给SWF,从而激活游戏。
3.将SWF或者变量置于服务端
这
是第二种技术的扩展、延伸,该技术已经广泛的使用着。起初的游戏(SWF)文件只是个装载器,当单击播放(或开始)按钮后,将加载另一个SWF文件。当需
要地图文件的时候,便从服务端加载地图数据。当加载数据遇到阻碍时,将从服务段再次加载受到阻碍的SWF文件。新层上的数据也是从服务端传过来。
从这儿。我们可以看到一个原则:防止反编译的最好方法是“不给”。
如果一些愚蠢的窃贼只下载game.SWF文件,他不可能玩这个游戏。 他需要在缓存中挑选出所有的SWF文件和变量。打开所有的SWF文件,编辑这些变量的名字,使它与缓存中的变量的名字一致。
如
果我们的地图由CGI随机产生,那么窃贼只可能拥有一份地图,他没有随机产生地图的权力。如果是个迷宫游戏的话,充其量,他只能玩一个迷宫,他没有“动态
产生迷宫”的功能。如果心存不良的用户玩这个游戏将碰到一个新的阻碍,因为在他的缓存中没有这个新的受到阻碍的SWF文件,所以将无法进行游戏。
因此,许多算法和功能都放在服务端,那个SWF文件只是个界面而已。这是个完美的保护措施,但是缺陷是这件产生一个转为游戏工作的CGI,而不是Flash。我们正在讨论关于SWF的保护问题,这个解决方案是不妥当的,因为SWF文件自身得不到保护。
(完)
分享到:
相关推荐
swf 反编译工具
描述中提到"这提取的较完整的swf反编译的fla",FLA是Flash Authoring File的缩写,它是Adobe Animate(以前称为Flash Professional)使用的源文件格式,包含图形、动画、脚本和其他元素。反编译SWF的目标就是将这种...
本文将深入探讨如何反编译SWF文件来得到AS3代码,这涉及到一系列工具和技术。 首先,我们需要了解SWF文件的结构。SWF是Adobe Flash的二进制文件格式,用于存储包含动画、交互式内容、游戏等的Flash应用程序。这些...
标题“swf反编译为as”涉及到的是Adobe Flash相关技术,主要关注如何将SWF文件转换为其ActionScript(AS)源代码。SWF是一种用于网络的多媒体文件格式,常用于展示交互式内容,如游戏、动画或者应用程序。...
总之,SWF反编译是开发者和设计师重要的辅助工具,它能帮助我们深入了解SWF文件的内部构造,实现资源复用和代码学习。选择合适的免费中文版反编译软件,并合理使用,可以有效地提高工作效率,同时要注意遵守相关的...
这时,一款强大的反编译工具就显得至关重要,而"Flash Decompiler Trillix"就是这样的一款专业软件,专为中文用户设计,提供了便捷高效的SWF反编译功能。 Flash Decompiler Trillix的核心功能在于它能够将SWF文件...
标题中的“swf反编译工具”是指一种专门用于解析和提取SWF(Shockwave Flash)文件内容的应用程序。SWF是一种由Adobe Flash创建的格式,通常用于在网页上展示动画、交互式内容和小游戏。反编译工具可以帮助开发者、...
SWFDecompiler是一款专业的SWF文件反编译工具,它能将Adobe Flash的SWF格式文件转换成可编辑的FLA格式或者ActionScript代码。这款软件的最新绿色版旨在提供更加方便、完整的反编译体验,减少用户在处理反编译结果时...
总之,防止SWF二进制文件被反编译是Flash/Flex开发中的一项重要任务,涉及到加密、混淆、动态加载等多种技术手段,并且可能结合使用特定的工具如HN_Hex-Ed.exe。同时,理解和遵循相关的法律措施也是保护自身权益的...
标题中的“Flash SWF反编译工具”是指用于解析和逆向工程Adobe Flash的SWF文件格式的软件。这些工具通常被开发人员、设计师或安全研究人员使用,以便查看和提取SWF文件内的动作脚本(ActionScript)、图形、音频和...
SWF反编译工具是一种专门用于解析和提取Adobe Flash SWF文件内容的软件。SWF文件格式是Flash平台上广泛使用的格式,它包含了动画、交互式内容、音频、视频等多种元素。在开发、调试或资源回收时,反编译工具能够帮助...
SWF反编译是指将已编译的SWF文件转换回其源代码或FLA格式,以便于分析、修改或重新利用其中的资源。 "FLASH反编器1.zip"是一个压缩包,其中包含了一个名为"FLASH反编器"的工具,这可能是一个专门用于SWF文件反编译...
在某些情况下,我们可能需要对已经编译的SWF文件进行反编译,以获取源代码或进行修改。以下将详细讲解Flash和Flex反编译的相关知识点。 1. **什么是反编译**: 反编译是将已编译的二进制代码转换回源代码的过程。...
市面上有许多SWF反编译工具,如Flash Decompiler Trillix、Sothink SWF Decompiler等。这些工具提供了图形界面,使得用户能够方便地查看和编辑SWF文件内部的代码和资源。 六、学习与应用 了解SWF文件格式对于开发者...
### jQuery Webcam Plugin jscam.swf 文件反编译工具使用说明 #### 一、概述 jQuery Webcam Plugin(简称“插件”)是一个跨浏览器的摄像头控制插件,它支持IE、Firefox以及Chrome等多种浏览器,主要用于实现...
Flash Decompiler即FFDec是一款SWF反编译软件,可通过打开图标或者拖动SWF文件到软件窗口中来开始反编译FLASH SWF/GFX/SWC文件。能够打开编辑FLASH,提供里面的图形、文本、图像、视频、声音、按钮以及字体框架...
了解并掌握ASV 6.0这样的SWF反编译工具,可以帮助开发者和设计师深入探究Flash内容,提升工作效率,实现更高效的内容复用和创新。同时,它也对研究Flash技术、教学和逆向工程等领域有着重要的作用。通过运行“去时间...