【问题标题】:Javascript obfuscation and extreme situation in production solving生产解决中的Javascript混淆和极端情况
【发布时间】:2010-05-14 07:45:12
【问题描述】:

我有几个关于客户端 JavaScript 混淆的问题。

第一个问题: 您可以为此操作建议的最佳工具或最佳三种工具是什么?

第二个问题: 如果代码被混淆,当生产中出现极端情况时,开发人员应该如何调试这样的代码(例如使用firebug)?

附: - 我知道在生产中调试是不好的做法,但是我们遇到了一些紧急情况,有时也遇到过这种情况。

感谢您的帮助!

【问题讨论】:

    标签: javascript obfuscation client-side production-environment


    【解决方案1】:

    1) 具有高级优化的闭包编译器

    2) 先加倍他们的工资,然后给他们看jsbeautifier.org

    【讨论】:

      【解决方案2】:
      1. 如果您正在寻找混淆,我会说JScrambler。他们在网站上还有一个comparison table,列出了其他知名的 javascript 混淆器。

      2. 对于调试,您可以使用 SpiderMonkey 或 Rhino 之类的东西。 Firebug 非常适合在应用编码时检索解码的源代码。

      【讨论】:

        【解决方案3】:

        我认为 IE8 javascript 调试器(在开发人员工具下)实际上重新缩进/重新格式化您的代码,使其再次可读。

        不确定这个功能是否已经添加到 Firebug 中,最近没用过,但我很早就想要这个功能。

        【讨论】:

          【解决方案4】:

          我们的SD ECMAScript Obfuscator 保留了它如何混淆您的代码的地图。如果您进行客户端混淆代码调试,该映射将告诉原始源代码中它实际引用的符号。

          如果你想调试“格式良好”的混淆代码,你可以从 ECMAScript 混淆器中得到它,首先混淆(获取所有布局丢失的代码),然后通过混淆器运行返回以美化它(它有这个选项)。

          第三种选择是在“调试”模式下生成混淆代码。混淆的结果与生产混淆的结果相同,只是每个加扰变量都被命名为“XXX”。这使得理解正在调试的代码与原始代码一样容易,同时验证混淆重命名是否正确。完成调试后,您只需在生产模式下重新混淆即可。

          【讨论】:

          • 这个 SD ECMA 软件只在名称和字符串文字上播放 - 很容易“美化”它(除了函数名称之外的所有内容,因为它们被永久替换),但我认为更好的选择是之前提出的。
          • 变量名也被混淆了。
          猜你喜欢
          • 2012-12-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多