2011-09-29 52 views
3

我看到有人把他們所有的JS代碼放到一行中。 (像這樣的:http://www.drasticdata.nl/DrasticTreemap/Examples/js/swfobject.js)我知道他們正在努力保護他們的IP。但我想閱讀代碼並研究它。把javascript一行代碼分解爲可讀代碼

有沒有辦法讓這些單行代碼可讀?例如,將其分解爲多行?

謝謝。

+4

我讀過,這不僅是爲了保護知識產權,但還可以用來傳送文件到客戶端時最小化數據傳輸。這就是爲什麼像jQuery這樣的圖書館分發縮小文件的原因。 –

回答

11

快速谷歌搜索「JavaScript去混淆器」將返回多個在線解析器,將混淆代碼格式化爲格式化和可讀的格式。

下工作得很好:

http://jsbeautifier.org/

沒有辦法重命名變量名的,一旦語義形式。有些事情,你將不得不通過踏...

幾個方面的注意縮小混淆

縮小(維基百科)

在計算機 中的縮小(也是最小化或最小化)系統語言,特別是JavaScript,是 從源代碼中刪除所有不必要的字符的過程,不會改變它的功能 。

混淆(維基百科)

混淆代碼是已經犯了難 理解人類源或機器代碼。程序員可能故意混淆代碼 以隱藏其目的(通過默默無聞的安全性)或其邏輯到 防止篡改,阻止反向工程,或者作爲閱讀源代碼的人的一個謎題或 休閒挑戰。被稱爲混淆器的程序 使用各種技術將可讀代碼轉換成混淆代碼 。

參考

http://en.wikipedia.org/wiki/Obfuscated_code

http://en.wikipedia.org/wiki/Minification_(programming)

+0

非常感謝!也感謝幫助定義條款! –

1

對於幾乎任何語言,只是谷歌的 「美化」。他們會處理所有的縮進等。,但顯然任何縮短的變量或混淆不能輕易處理。

1

您可以將源代碼粘貼到Javascript美化工具中,但是您仍然遇到變量名稱無意義的問題。

考慮源是SWFObject的,它是由谷歌的開源腳本,並鏈接到它的項目主頁是您發佈的源:http://code.google.com/p/swfobject/

您可以在該鏈接下載非混淆代碼。