1

我有一个 'Shell' swf 作为主要的 swf 来保护项目中的其他东西。

Shell swf的程序是:

  1. 检查舞台属性,所以它不能作为一个孩子加载。
  2. 检查 Capabilities.isDebugger,所以它不能在调试器中运行。
  3. 加载解码器库。解码器库是由 flascc 构建的,很难反编译。
  4. 使用解码器来验证自己。如果失败或跳过,解码器将不会执行任何解码工作。
  5. 加载项目的编码主条目,对其进行解码并将其添加到阶段。

问题是第4步,我想做Shell swf的二进制校验和。

问题是:

  1. 如何在启动时获取 Shell swf 文件的原始二进制内容?
  2. 如果不是,Shell swf 的 LoaderInfo.bytes 在不同版本的 flash player 中是否一致?
  3. 如果没有,有什么好方法可以在步骤 4 中进行验证工作吗?
4

1 回答 1

0

如果您创建 AIR 应用程序,您可以使用标准 URLLoader 或 File 和 FileStream 临时加载应用程序包中的原始文件(“Shell.swf”)。如果您的应用程序可以在浏览器中运行,那么您可以从 loaderInfo 获取自身文件名和 URL,并使用 URLLoader 加载它。无论如何,在您的验证过程完成后,您需要将其卸载。

于 2013-07-07T21:56:41.263 回答