@@ -8,8 +8,6 @@ package com.cff.anebe
88 import flash.events.StatusEvent ;
99 import flash.external.ExtensionContext ;
1010 import flash.utils.ByteArray ;
11- import flash.utils.CompressionAlgorithm ;
12- import com.cff.anebe.ir.ASTrait ;
1311 import com.cff.anebe.ir.ASScript ;
1412
1513 /**
@@ -20,41 +18,8 @@ package com.cff.anebe
2018 {
2119 private var extContext: ExtensionContext;
2220
23- private function decompressAndSetSWF (replaceSWF :ByteArray ):void
21+ private function setSWF (replaceSWF :ByteArray ):void
2422 {
25- replaceSWF. position = 0 ;
26- var decompressor: ByteArray = new ByteArray ();
27- switch (replaceSWF. readUTFBytes (1 ))
28- {
29- case "F" :
30- replaceSWF. position = 0 ;
31- break ;
32- case "C" :
33- replaceSWF. position = 8 ;
34- replaceSWF. readBytes (decompressor);
35- replaceSWF. position = 8 ;
36- decompressor. uncompress (CompressionAlgorithm. ZLIB );
37- replaceSWF. writeBytes (decompressor);
38- replaceSWF. position = 0 ;
39- replaceSWF. writeUTFBytes ("F" );
40- replaceSWF. position = 0 ;
41- decompressor = null ;
42- break ;
43- case "Z" :
44- replaceSWF. position = 8 ;
45- replaceSWF. readBytes (decompressor, 8 );
46- replaceSWF. position = 8 ;
47- decompressor. uncompress (CompressionAlgorithm. LZMA );
48- replaceSWF. writeBytes (decompressor);
49- replaceSWF. position = 0 ;
50- replaceSWF. writeUTFBytes ("F" );
51- replaceSWF. position = 0 ;
52- decompressor = null ;
53- break ;
54- default :
55- throw new Error ("Unrecognized compression scheme for SWF" );
56- }
57-
5823 var ret: Object = extContext. call ("SetCurrentSWF" , replaceSWF);
5924
6025 if (ret is String )
@@ -84,7 +49,7 @@ package com.cff.anebe
8449 */
8550 public function Disassemble (swf :ByteArray ):Object
8651 {
87- decompressAndSetSWF( swf);
52+ setSWF(Utils . decompressSWF( swf) );
8853
8954 var ret: Object = extContext. call ("Disassemble" );
9055
@@ -118,7 +83,7 @@ package com.cff.anebe
11883
11984 if (replaceSWF != null )
12085 {
121- decompressAndSetSWF( replaceSWF);
86+ setSWF(Utils . decompressSWF( replaceSWF) );
12287 }
12388
12489 var vec: Vector .< String > = new < String >[];
@@ -149,7 +114,7 @@ package com.cff.anebe
149114 */
150115 public function DisassembleAsync (swf :ByteArray ):void
151116 {
152- decompressAndSetSWF( swf);
117+ setSWF(Utils . decompressSWF( swf) );
153118
154119 var ret: Object = extContext. call ("DisassembleAsync" );
155120
@@ -182,7 +147,7 @@ package com.cff.anebe
182147 }
183148 if (replaceSWF != null )
184149 {
185- decompressAndSetSWF( replaceSWF);
150+ setSWF(Utils . decompressSWF( replaceSWF) );
186151 }
187152
188153 var vec: Vector .< String > = new < String >[];
@@ -230,7 +195,7 @@ package com.cff.anebe
230195 }
231196 if (replaceSWF != null )
232197 {
233- decompressAndSetSWF( replaceSWF);
198+ setSWF(Utils . decompressSWF( replaceSWF) );
234199 }
235200
236201 var vec: Vector .< String > = new < String >[];
@@ -270,7 +235,7 @@ package com.cff.anebe
270235 }
271236 if (replaceSWF != null )
272237 {
273- decompressAndSetSWF( replaceSWF);
238+ setSWF(Utils . decompressSWF( replaceSWF) );
274239 }
275240
276241 var vec: Vector .< String > = new < String >[];
0 commit comments