当前位置: 移动技术网 > IT编程>UI设计>设计软件 > SWC让AS3代码更不安全

SWC让AS3代码更不安全

2019年05月25日  | 移动技术网IT编程  | 我要评论

文卓 爱情公寓3,数码照相机,qqmusicspider

    相信写as3代码的同学都用过action script viewer、swf decompiler这些工具吧?它们确实很强大,但普遍有一个缺点:对参数和局部变量反编译得不好,它们会用_arg1、_local1、param1和_loc_1来替换真正的参数和局部变量。虽然这不影响反编译,但对于只是借鉴部分代码的同学,相信很难理解这些无俚头的东东吧?
    最近我用asv浏览代码,幸运地发现它居然能准确地反编译参数和局部变量。当然这是有前提的,那就是必须是反编译调试版的swf,对于发行版的swf是没有办法的。大家知道,用flash builde等ide默认就是生成调试版的swf,添加swc再生成就不是什么问题。另外,也可以解压swc文件,直接反编译library.swf。所以说,swc一不小心就让as3代码暴露得一丝不挂。
下图是使用asv浏览发行版的swf看到的as3代码片段:
复制代码代码如下:public function setalpha(_arg1:number,_arg2:string="normal"):void{ var _local3:int=addextgstate({ ca:_arg1, sa:true, ca:_arg1, bm:("/"+_arg2) }); setextgstate(_local3); }很无俚头吧,如果代码再复杂一些,就更难懂了。 下图是使用asv浏览调试版的swf看到的as3代码片段:
复制代码代码如下:public function setalpha(alpha:number,blendmode:string="normal"):void{ var graphicstate:int=addextgstate({ ca:alpha, sa:true, ca:alpha, bm:("/"+blendmode) }); setextgstate(graphicstate); }几乎和原代码一样,当然,这部分代码片段必须是在swc就有的。 这样看来,发布调试版的swf不仅浪费,也是不安全的。发布swc特别要注意这一点,最好发布时加密。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网