ASO详细解答?

ASO详细解答?,第1张

全称为“ActionScript Obfuscator”(动作脚本混淆器),是一款通过混淆ActionScript脚本来保护SWF脚本资源的软件。在FLASH越来越普及的今天,SWF资源的加密与破解也迅速发展起来,而对于SWF文件而言,无论再怎么加密也不可能达到绝对的安全。这个与SWF文件格式的公开有关。ASO并不能使你的SWF文件具有被反编译的功能,但是它却能通过混淆ActionScript脚本来保护SWF内的脚本资源。被混淆过的SWF文件是永远都无法还原成原余祥辩样的。

[编辑本段]ASO的主要功能:

①将内部变量名,对象名改为毫无意义且极其相似的名称。当代码足够长时会给破解人员的查看带来极大的阻力。

②去掉重复且无意义的ExportAssets标记。可减小文件体积。

③减小标记头大小。可减小文件体积。

④重竖缺建常量池。可提高运行速度。

⑤清除寄存器参数标识符宴虚。可提高运行速度。

⑥用0代替0.0。可减小文件体积。

⑦去除双重否定。可减小文件体积。

[编辑本段]ASO的官方主页:

ASO的官方主页是 http://www.genable.com/ ,大家可以到主页上去下载最新的ASO。

ASO 抗链球菌溶血素"O" 是A群溶血性链球菌的代谢产物,它是一种具有溶血活性的蛋白质能溶解人类和一些动物的红细胞并具有抗原性,可刺激机体产生相应的抗体,称为ASO.

参考值:一般<500u.

临床意义:

A.对协助风湿热有一定价值.风湿热病人在感染后4-6周60-80%可见ASO增高,并伴有血沉增快及白细胞增多若疑活动风湿,但ASO多次检查均在正常范围内则有助于排除该病.

B.急性肾小球肾炎病人ASO也常有增高.

C.确已感染溶血性链球菌,但ASO一直不见增高,可见于1.该溶血性链球菌不产生或很少产生很少量ASO.2感染早期即应用大量糖皮质激素.

D.本测定并无特意性,凡由溶血性链球菌感染所引起的疾病,如扁桃体炎,猩红热等均可增高.但其他与溶血性链球菌无关的疾病如肝炎,结缔组织病等ASO效价也可增高.

SWF Encrypt

使用高级迷惑技术和经过验证的加密科技,为你的Flash SWF文件提供了安全保护,可以防止别人反编译你制作的Flash电影或使用反向过程盗取其ActionScript代码

这样SWF 文件的元件,图片,声音之类可以还可能被盗用

但ActionScript代码脚本之类不会被盗用

加密方法流传不少,此处只谈我所知的较为实用的方法:

更改后缀,避开 Flash Saver 等下载工具

此方法可有效避开 Flash Saver 等下载工具。使提取者不得不从缓存中查找文件,一定程度上增加了提取难度。后缀可改为 gif、jpg、txt 等等。虽然可以更改后缀,然而在插入到网页时,仍然需要以 swf 的形式插入,使用此 swf 来加载改过后缀的影片。

限制 Flash 在指定域名/网址中播放 (Flash 防盗链)

url = "http://www.zhugao.cn"

/*

以下判断网址的前 20 个字符(字符数根据你的网址作相应修改),如果与"url"不一致则播放失败。注:swf 可以放在任意目录下,只要网址的前 20 个字符是正确的。

*/

if(_url.substring(0, 20)<>url){

gotoAndStop(2)

/*

这里可以做一些东西,例如:将发布设置中的“本地回放安全性”设为“只访问网络”,然后在这里做无数的d窗

onEnterFrame = function(){

getURL("http://www.zhugao.cn", "_blank")

}

*/

}else{

gotoAndPlay(3)//跳到正常播放

}

为了便于阅读,以下是没有注释纤此的代码:

url = "http://www.zhugao.cn"

if(_url.substring(0, 20)<>url){

gotoAndStop(2)

}else{

gotoAndPlay(3)

}

如果要允许多个域名,可以这样写:

url = "http://www.zhugao.cn"

url2 = "http://zhugao.cn"

if((_url.substring(0, 20)==url) || (_url.substring(0, 16)==url2)){

gotoAndPlay(3)

}else{

gotoAndStop(2)

}

注意:用此方法,做缓设计过程中导出时的技巧:

用IE打开先打开指定目毁胡迅标网址,以避免在导出时频繁d出窗口,如果无效,请将默认浏览器设置成IE,关闭导出时的player窗口即可继续编辑。有时Flash软件会因此发生错误而被强行结束,导出前请保存文档,切记!

常用加密工具

SWF Encrypt

可有效防止目前流行的几乎所有破解工具对其所加密作品的AS查看。2006年10月更新为3.0.12,尽管加密后文件仍然有明显的增大(视原swf的复杂程度,增大幅度有所不同),然而令人振奋的是,已经支持放射状渐变,支持Flash8.0。加密技巧:分解swf逐个加密,以尽量避免加密后单个文件体积庞大的问题。

Flashincrypt

可轻易防止闪客精灵目前的版本对其所加密作品的AS查看,加密后的文件几乎保持原文件大小。遗憾的是不能防止 Action Script Viewer 5.0 以上的版本。

适当应用与javascript结合

加密JS,从而实现间接加密swf。相关工具及例子:

T4nk JS混淆工具

用于javascript的混淆加密。

Encrypt HTML

加密网页脚本,包括 HTML source code, javascript, VBScript, text, links and graphics 等。

从Flash到JavaScript的通讯,从JavaScript到Flash的通讯

控制 Flash Player 的 JavaScript 方法一览表:

·播放动画:Play()

例:(网页中的 Flash id).Play()

·停止动画:StopPlay()

·动画是否正在播放:IsPlaying()

·跳转到某帧:GotoFrame(frame_number)

·获取动画总帧数:TotalFrames()

·回传当前动画所在帧数:CurrentFrame()

·使动画返回第一帧:Rewind()

·放大指定区域:SetZoomRect(left,top,right,buttom)

·改变动画大小:Zoom(percent)

·使动画在 x,y 方向上平移:Pan(x_position,y_position,unit)

·返回动画被载入的百分比:PercentLoaded()

·加载动画:LoadMovie(level_number,path)

例:(网页中的 Flash id).LoadMovie(0, "***/***.swf")

·movie_clip 跳转到指定帧数:TGotoFrame(movie_clip,frame_number)

例:(网页中的 Flash id).TGotoFrame("_root.实例名.次实例名",帧数)

·movie_clip 跳转到指定标签:TGotoLabel(movie_clip,label_name)

例:(网页中的 Flash id).TGotoLabel("_root.实例名.次实例名","标签名")

·回传 movie_clip 当前帧:TCurrentFrame(movie_clip)

·回传 movie_clip 当前标签:TCurrentLabel(movie_clip)

·播放 movie_clip:TPlay(movie_clip)

·停止 movie_clip 的播放:TStopPlay(movie_clip)

·获取变量:GetVariable(variable_name)

·变量赋值:SetVariable(variable_name,value)

·call 指定帧上的 action:TCallFrame(movie_clip,frame_number)

·call 指定标签上的 action:TCallLabel(movie_clip,label)

·获取 movie_clip 的指定属性:TGetProperty(movie_clip,property)

·设置 movie_clip 的指定属性:TSetProperty(movie_clip,property,number)

在Word中插入Flash

测试环境:WindowsXP / Office2003

可用在独立文件给客户看的时候,尽管可以用前述方法从word中提取swf,然而此方法仍然具有一定防范效果。

新建一Word文档并保存。

在Word中依次单击下拉菜单“视图”→“工具栏”→“控件工具箱”。

在“控件工具箱”中点击“其他控件”,选择列表中的“Shockwave Flash Object”。

右键单击插入进来的Flash播放控件,选择“属性”。

在“属性”窗口的“Movie”栏输入Flash动画的路径及文件名,需要用绝对路径,可采用以下两种:

file:///C:/test/test.swf

http://www.zhugao.cn/test.swf

将“EmbedMovie”项设置为“True”,使Flash嵌入到Word中。“Height”和“Width”分别为Flash的高和宽。“Scale”默认为ShowAll,为缩放模式,始终显示Flash中的所有内容,如果改为NoScale则始终按1:1比例,不会缩放Flash中的内容。

单击控件工具箱上的“退出设计模式”按钮,在Word中即可播放Flash了。再次按下该按钮则暂停播放,进入设计模式。如当时未显示Flash,请保存退出Word,再打开该Word文档,点击“退出设计模式”按钮即可看到Flash。

打包成加壳exe

用Flash的默认程序打包的exe很容易转成swf,SWFKit是一款很不错的加壳打包软件,不易被还原。

三、后记

破解时需要多种方法或工具综合使用,加密亦然,需根据用途综合加密。

对于网络用swf的推荐加密方案:

更改后缀,限制在指定域名播放,分解成多个swf并用SWF Encrypt加密。

此方案主要依赖于SWF Encrypt,重在保护作品的AS,一旦SWF Encrypt遭到破解软件的有效攻击,此方案即宣告破产。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12215753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存