SWF反编译是指用SWF反编译软件把Adobe Flash,Flex或第三方工具生成的
SWF文件,重新生成对应(或等效)的源文件的过程。
以再次编译生成的SWF和原来功能(甚至大小)完全或基本一致作为反编译成功的标志.原SWF中包含的所有
代码必须在新生成的SWF有对应的版本.需要注意的是由于受编译器及反编译器的工作原理所限,新编译的SWF里有时会包含额外的代码以使编译通过.
最终得到的源文件分为以下几种格式:Fla(xfl),Flex工程,其他第三方工程文件.
可以100%地反编译为Fla(xfl).
部分可以反编译为Fla(xfl),部分可以在手工修改后反编译为Fla,部分则只能反编译为Flex工程.
简单的如Swish生成的SWF可以直接反编译为Fla(xfl).
复杂一些的往往需要大量手工修改后才能生成等效的
源文件(Fla(
xfl)/Flex/第三方工程文件).使用工具软件如Action Script Viewer 2013进行反编译的结果往往无法直接再次编译通过.因为第三方软件使用的可能不是标准的ActionScript语法,反编译获得的代码无法通过Adobe官方Flash编译器的检查,如Mtasc,Haxe等生成的SWF.