SWC让AS3代码更不安全

所属分类: 媒体动画 / Flash教程 阅读数: 38
收藏 0 赞 0 分享
    相信写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特别要注意这一点,最好发布时加密。
更多精彩内容其他人还在看

Flash cs6怎么创建XML文档?

Flash cs6怎么创建XML文档?XML是扩展的标记语言,想要在flash中使用XML,该怎么使用呢?下面我摩恩就来看看在Flash中表示XML文档的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么绘制太阳花简笔画?

flash怎么绘制太阳花简笔画?flash中想要画一朵太阳花,该怎么绘制简笔画效果的太阳花呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash CS6带\b符号正则表达式怎么匹配?

Flash CS6带\b符号正则表达式怎么匹配?Flash CS6中正则表达式需要匹配,那么带/b符号的正则表达式该怎么匹配呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么画小女孩的头像?

flash怎么画小女孩的头像?flash中想要画一个小女孩头像,该怎么画小女孩头像呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么快速画一排松树?

flash怎么快速画一排松树?flash中想要画松树,该怎么快速画一排松树呢?下面我们就来看看flash绘制松树的教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么将匹配字符串保存在同一数组?

flash怎么将匹配字符串保存在同一数组?文章中有很多想用的字符串,想要将相同的字符串放到同一数组,该怎么实现恩?下面我们 就来看看纤细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash正则表达式转义字符怎么使用?

flash正则表达式转义字符怎么使用?flash cs6中正则表达式中出现了^和$字符,需要使用转义符,该怎么使用转义字符呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash怎么使用exec搜索匹配的字符串?

Flash怎么使用exec搜索匹配的字符串?Flash cs6中想要使用用exec方法搜索匹配的字符串,该怎么使用exec呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash2015怎么绘制彩色铅笔?

flash2015怎么绘制彩色铅笔?flash cc 2015中想要画一只彩色铅笔,该怎么画彩色铅笔呢?下面我们就来看看flash画彩色铅笔的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash怎么输出字符串中的反斜杠?

Flash怎么输出字符串中的反斜杠?flash cs6中的字符串输出的时候,发现反斜杠/没有输出出来,该怎么解决呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多