反编译SWF和字体

时间:2011-04-04 11:16:48

标签: flash security fonts decompiling

我正在为字体零售商网站开发基于Flash的字体查看器。我一直在阅读SWF反编译器,我想知道,反编译器可以抓取嵌入在SWF中的字体并以某种可重用格式输出吗?

我也可能将字体嵌入外部SWF中,可能托管在HTTPS服务器上。这是保护字体免于反编译的可行方法吗?

(我已经找到了Sothink Decompiler的副本,我的意思是将所有这些都用于测试,但不幸的是试用期结束了。)

感谢您的帮助!

安德烈

3 个答案:

答案 0 :(得分:1)

您无法保护客户端中所需的任何信息或数据。如果浏览器可以使用它,则可以将其解压缩。加密可以提供必须由攻击者删除的附加层,但最终,浏览器必须能够解密信息,因此攻击者可以模拟浏览器的操作并以此方式获取数据。

此问题的解决方案是在服务器上呈现字体并使用Flash获取结果(例如图像文件)。这样,您可以将字体数据保留在服务器上并仍然显示输出。我不知道你的架构是否可行,但这似乎是安全的方法。

答案 1 :(得分:0)

理论上他们可以,swf中的资源中包含的所有文件都可以使用该工具(以及其他许多工具)导出。可能你可以搜索swf加密软件来保护swf,但这也不是免费的。

首先我发现这是

http://www.amayeta.com/

它还会加密资源。

答案 2 :(得分:0)

  • SWFTools - SWF操作和生成实用程序

    您可以安装SWFTools发行版(也有命令行程序),并使用可以反编译Flash文件的[SWFExtract] [2]。

    在OSX上,通过以下方式安装:brew install swftools

    这将安装以下工具:as3compilefont2swfjpeg2swfpdf2swfpng2swfswfbboxswfcswfcombineswfdumpswfextractswfrenderswfstringswav2swf

    swfextracts允许从swf文件中提取swf动画片段和对象,包括字体。

    字体提取示例:

    $ swfextract sample.swf 
    Objects in file sample.swf:
     [-F] 2 Fonts: ID(s) 2, 24
    $ swfextract --outputformat "font_extract_%06d.%s" -F 2,24 sample.swf 
    $ ls font_extract_0000*
    font_extract_000002.swf  font_extract_000024.swf