SWF 反编译工具无法解析 DefineFont3 Tag


我有一个 SWF,试图用各种分析工具查看,包括 SWF Inspector,swfmill,pyswf 等等,在解释 DefineFont3 时都出现异常。用十六进制编辑器对照 swf 文件标准看,发现这个文件和标准对不上。不过 Flash Player 和 Sothink 反编译器可以正常查看,不知道为什么。有童鞋帮窝看看的话实在感激不尽啦~~

文件在这里 https://www.dropbox.com/s/n02lbplm77exmhp/page003.swf

P.S. 好像 Issue 里有人遇到过有点像的问题不过说得语焉不详最后也没解决。

flash 字体 swf

一ノ瀬ことみ 10 years, 3 months ago

啊解决了。。。
问题是 Adobe Flash Player 解析 DefineFont2 的时候,先读进 offsetTable,然后在需要某个字符时,根据 offsetTable 查 glyphShapeTable。这样有些 SWF 文件,glyphShapeTable 并不是紧密排列的数组,或者开头不紧接 codeTableOffset,但提供正确的 offsetTable,仍然能被 Adobe Flash Player 解析。

镜JING answered 10 years, 3 months ago

Your Answer