我正在为字体零售商网站开发基于Flash的字体查看器。我一直在阅读SWF反编译器,我想知道,反编译器可以抓取嵌入在SWF中的字体并以某种可重用格式输出吗?
我也可能将字体嵌入外部SWF中,可能托管在HTTPS服务器上。这是保护字体免于反编译的可行方法吗?
(我已经找到了Sothink Decompiler的副本,我的意思是将所有这些都用于测试,但不幸的是试用期结束了。)
感谢您的帮助!
安德烈
答案 0 :(得分:1)
您无法保护客户端中所需的任何信息或数据。如果浏览器可以使用它,则可以将其解压缩。加密可以提供必须由攻击者删除的附加层,但最终,浏览器必须能够解密信息,因此攻击者可以模拟浏览器的操作并以此方式获取数据。
此问题的解决方案是在服务器上呈现字体并使用Flash获取结果(例如图像文件)。这样,您可以将字体数据保留在服务器上并仍然显示输出。我不知道你的架构是否可行,但这似乎是安全的方法。
答案 1 :(得分:0)
理论上他们可以,swf中的资源中包含的所有文件都可以使用该工具(以及其他许多工具)导出。可能你可以搜索swf加密软件来保护swf,但这也不是免费的。
首先我发现这是
它还会加密资源。
答案 2 :(得分:0)
SWFTools - SWF操作和生成实用程序
您可以安装SWFTools发行版(也有命令行程序),并使用可以反编译Flash文件的[SWFExtract] [2]。
在OSX上,通过以下方式安装:brew install swftools
。
这将安装以下工具:as3compile
,font2swf
,jpeg2swf
,pdf2swf
,png2swf
,
swfbbox
,swfc
,swfcombine
,
swfdump
,swfextract
,swfrender
,swfstrings
,wav2swf
。
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