-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathSWFTest.as
executable file
·81 lines (68 loc) · 1.96 KB
/
SWFTest.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package {
import flash.display.*
import flash.events.*
import flash.net.*
import flash.utils.*
import abc.ABCInspector
import swf.*
import swf.tags.*
public class SWFTest extends Sprite {
private var
_urlL:URLLoader,
_swfPath:String = 'SWFTest.swf'
public function SWFTest(){
_loadSWF()
}
private function _loadSWF():void {
_urlL = new URLLoader()
_urlL.dataFormat = URLLoaderDataFormat.BINARY
_urlL.addEventListener(Event.COMPLETE, _onSWFLoad)
_urlL.load(new URLRequest(_swfPath))
}
private function _onSWFLoad(e:Event):void {
var swfData:ByteArray = (_urlL.data as ByteArray)
var _swf:SWF = SWF.readFrom(swfData)
trace('hmm!!')
for each(var t:Tag in _swf.tags){
if(t is DoABCTag){
var abct:DoABCTag = t as DoABCTag
trace(new ABCInspector(abct.abc).inspect)
}
}
// for now, return so that the 'inspect' output is last
//return
var swfBytes:ByteArray = _swf.toByteArray()
trace('Loadbytes')
SWF.readFrom(swfBytes)
var l:Loader = new Loader
l.addEventListener(Event.COMPLETE, onNewSWF)
function onNewSWF(e:Event):void {
trace(l.content)
}
//(addChild(l) as Loader).loadBytes(swfBytes)
var s:String = ''
swfData.position = 0
swfData.endian = Endian.LITTLE_ENDIAN
for(var i:int = 0; i < swfData.length; i++){
if(swfData.position >= swfData.length) break
var num:String = swfData.readUnsignedByte().toString(16)
if(num.length == 1) num = '0' + num
s += num
if(i % 4 == 3) s += ' '
if(i % 32 == 31) s += '\n'
}
trace(s)
s = ''
swfBytes.position = 0
for(i = 0; i < swfBytes.length; i++){
if(swfBytes.position >= swfBytes.length) break
num = swfBytes.readUnsignedByte().toString(16)
if(num.length == 1) num = '0' + num
s += num
if(i % 4 == 3) s += ' '
if(i % 32 == 31) s += '\n'
}
trace(s)
}
}
}