我有一些关于客户端 JavaScript 混淆的问题。
第一个问题:您可以为此操作建议的最好的工具或最好的三个工具是什么?
第二个问题:如果代码被混淆,当生产中出现极端情况时,开发人员应该如何调试这样的代码(例如使用firebug)?
PS - 我知道在生产中调试是不好的做法,但我们遇到了一些紧急情况,有时会遇到这种情况。
谢谢你的帮助!
我有一些关于客户端 JavaScript 混淆的问题。
第一个问题:您可以为此操作建议的最好的工具或最好的三个工具是什么?
第二个问题:如果代码被混淆,当生产中出现极端情况时,开发人员应该如何调试这样的代码(例如使用firebug)?
PS - 我知道在生产中调试是不好的做法,但我们遇到了一些紧急情况,有时会遇到这种情况。
谢谢你的帮助!
1) 具有高级优化的闭包编译器
2) 先加倍他们的工资,然后给他们看 jsbeautifier.org
如果您正在寻找混淆,我会说JScrambler。他们还在网站上有一个比较表,列出了其他著名的 javascript 混淆器。
对于调试,您可以使用SpiderMonkey或 Rhino 之类的东西。Firebug非常适合在应用编码时检索解码的源代码。
我认为 IE8 javascript 调试器(在开发人员工具下)实际上重新缩进/重新格式化您的代码,使其再次可读。
不确定这个功能是否已经添加到 Firebug 中,最近没有使用它,但我前段时间真的很想要这个功能。
我们的SD ECMAScript 混淆器保留了它如何混淆您的代码的地图。如果您进行客户端混淆代码调试,则该映射将告诉原始源中的哪个符号它实际引用。
如果您想调试“格式良好”的混淆代码,您可以从 ECMAScript 混淆器中获取它,方法是首先进行混淆(获取所有布局丢失的代码),然后通过混淆器运行以美化它(它有这个选项)。
第三种选择是在“调试”模式下生成混淆代码。混淆的结果与生产混淆的结果相同,只是每个加扰变量都被命名为“XXX”。这使得理解正在调试的代码与原始代码一样容易,同时验证混淆重命名是否正确。完成调试后,您只需在生产模式下重新混淆即可。