在编译之前保护SWF

时间:2012-12-07 23:48:51

标签: security flash data-protection

GOOGLE充斥着所谓的SWF加密器/阻碍器/储物柜。 但其中99%会导致复杂应用程序出错。在使用导入的3D库或使用外部文件的应用程序中。或者在内部有数千行代码且内部有许多动画的复杂应用程序中。

我一直在使用KINDISOFT软件,我的团队使用ADOBE FLASH CS5和CS6以及FLEX开发了200多款游戏。从FLEX生成的SWF能够由KINDISOFT和其他SWF保护器编码,而由ADOBE FLASH导出的其他SWF文件非常混乱,错误从开始就出现了。

所以我有两个问题:

a)当使用SWFENCRYPT或secureSWF等软件或其他用作SWF文件输入的类似产品时,它们实际上会反编译您的文件,插入封套和一些安全性,然后重新编译?或者他们只是改变字节码?

b)是否无法在原始源文件中插入保护,这样可以大大降低出现bug的风险?

这个问题的目的是在编译之前找到如何保护你的FLASH应用程序,如果你有源代码,那么在编译之后,代码将100%正常运行,而不是在编译后保护你的SWF。冒着生成错误的风险。

感谢您的时间

1 个答案:

答案 0 :(得分:2)

我认为混淆软件正在改变字节码。例如,添加了无效的字节码,用于打破过去的decomplilers,而Flash Player仍然正确地播放swf。这是剑和盾的无尽战斗(但似乎混淆器处于更好的位置。)
更具体地说,如果您的应用程序在混淆后中断 - 您可以做什么:

  • 从混淆中排除脆弱的资源,例如动画剪辑。如果你绝对需要保护它们,你可以用简单的算法加密它们,比如RC4(它很快),并在混淆保护部分解密(见as3crypto)。
  • 与KindiSoft合作,向他们发送错误报告,并提供破损swf的示例。
  • 添加您自己的混淆方法,例如在图片/其他资源中隐藏逻辑。