反编译Flash是指用Flash反编译软件把Adobe Flash ,Flex或第三方工具生成的SWF文件,重新生成对应(或等效)的源文件的过程。以再次编译生成的SWF和原来功能(甚至大小)完全或基本一致作为反编译成功的标志。原SWF中包含的所有代码必须在新生成的SWF有对应的版本。需要注意的是由于受编译器及反编译器的工作原理所限,新编译的SWF里有时会包含额外的代码以使编译通过.

源文件格式分类

最终得到的源文件分为以下几种格式:Fla(xfl),Flex工程,其他第三方工程文件.

Flash IDE编译的SWF

可以100%地反编译为Fla(xfl).

Flex编译的SWF

部分可以反编译为Fla(xfl),部分可以在手工修改后反编译为Fla,部分则只能反编译为Flex工程.

第三方软件编译的SWF

简单的如Swish生成的SWF可以直接反编译为Fla(xfl).

复杂一些的往往需要大量手工修改后才能生成等效的源文件(Fla(xfl)/Flex/第三方工程文件).使用工具软件如 Action Script Viewer(ASV2013)进行反编译的结果往往无法直接再次编译通过。因为第三方软件使用的可能不是标准的ActionScript语法,反编译获得的代码无法通过Adobe官方Flash编译器的检查,如Mtasc,Haxe等生成的SWF.