0
我试图智能地解析actionscript标记,我检查了反汇编/反编译swf文件的几个开源程序的源代码。愚蠢的按位数学(关于swf中的actionscript标记)
检查the doc上PG29它指出
"Note: The TagCodeAndLength field is a two-byte word, not a bit field of 10 bits followed by a bit field of 6 bits.
一个SWF文件的little-endian字节顺序,使不同的两个布局。”
在010编辑器检查,第一个标签是
0x44 0x11
它以某种方式转换为0x45(然后长度)。但是,由doc(上面引用),它没有任何意义,因为它似乎是:
0100 0100 0001 0001
其犯规甚至远程显得
0110 1001
可有人请解释一下吗?
我自己也是这样做的,但是前一段时间已经很不错了。你可以发布你正在解析的标签的字节码吗? –
我现在没有我的代码,所以很难确切地说出发生了什么,但无论如何,LE命令意味着“0100 0100 0001 0001”应该被解释为“0001 0001 0100 0100”,这是一个短头标记'1000101'(69或0x45),长度为'100'(4)。 –
@NoxNoctis我认为它应该是69h不是45h(如果标签是十六进制或十进制值,文档不太清楚)。我编辑了我的问题来反映这一点。你能否给出正式的答复,以便我可以接受它? – grepNstepN