我见过人们将他们所有的JS代码放在一行中。 (像这样:http://www.drasticdata.nl/DrasticTreemap/Examples/js/swfobject.js)我知道他们正试图保护他们的知识产权。但我想阅读代码并研究它。
有没有办法让这些单行代码可读?例如,将其分解为多行?
感谢。
答案 0 :(得分:13)
快速谷歌搜索“JavaScript de-obfuscator”将返回多个在线解析器,这些解析器将混淆代码格式化为格式化和可读的格式。
以下效果非常好:
一旦语义形式,就无法将变量名称重命名为它们。你需要经历的事情......
需要注意的几个术语 缩小 和 混淆 :
缩小(维基百科)
计算机中的缩小(也是最小化或最小化) 编程语言,尤其是JavaScript,是一个过程 从源代码中删除所有不必要的字符,而不更改 它的功能。
混淆(维基百科)
混淆代码是困难的源代码或机器代码 了解人类。程序员可能会故意混淆代码 隐瞒其目的(通过默默无闻的安全)或其逻辑 防止篡改,阻止逆向工程,或作为拼图或 阅读源代码的人的娱乐挑战。程式 称为混淆器将可读代码转换为混淆代码 使用各种技术。
<强>参考强>
答案 1 :(得分:1)
例如。此工具具有“漂亮打印”选项:http://closure-compiler.appspot.com/home。有些IDE(eclipse)也有它。
答案 2 :(得分:1)
答案 3 :(得分:1)
对于几乎任何语言,只需谷歌“美化”。他们将处理所有缩进等,但显然任何缩短的变量或混淆都不容易处理。
答案 4 :(得分:1)
您可以将源代码粘贴到Javascript美化器中,但是您仍然遇到了无效的变量名称问题。
考虑到源是SWFObject,它是google的开源脚本,其项目主页的链接位于您发布的源代码中:http://code.google.com/p/swfobject/
您可以在该链接下载非模糊代码。
答案 5 :(得分:1)
如果您使用的是Chrome,则开发人员工具的脚本面板中会有一个“漂亮打印”按钮。这可能比不断访问网络应用程序容易得多。
http://cristian-radulescu.ro/article/pretty-print-javascript-with-google-chrome.html