5

我有幾個關於客戶端JavaScript混淆的問題。JavaScript混淆和生產解決中的極端情況

第一個問題: 什麼是最好的工具或最好的三種工具,你可以建議這個操作?

第二個問題: 如何開發人員應調試這樣的代碼(例如與螢火蟲)如果代碼混淆在生產極端情況時,會出現?

P.S. - 我知道在生產環境中進行調試是不好的做法,但我們遇到了一些緊急情況,並且有時會遇到這種情況。

感謝您的幫助!

回答

5

1)關閉編譯器,高級優化

2)首先他們支付雙倍,然後告訴他們jsbeautifier.org

0

我認爲IE8的JavaScript調試器(在開發工具下)實際上是重新縮進/重新格式化您的代碼,使其再次可讀。

不確定此功能是否已添加到Firebug,最近沒有使用它,但我真的很想要這個功能。

3
  1. 如果您正在尋找混淆我想說JScrambler。他們還在網站上列出了一個comparison table,列出了其他衆所周知的JavaScript混淆器。

  2. 對於調試,你可以使用類似SpiderMonkey或犀牛。 Firebug非常適合在編碼應用時檢索解碼後的源代碼。

0

我們的SD ECMAScript Obfuscator保留了它如何模糊你的代碼的地圖。如果您進行客戶端混淆代碼調試,那麼該映射將會告知原始源中的哪個符號實際上是引用的。

如果您想要調試「格式良好」的混淆代碼,您可以從ECMAScript混淆器中獲取該代碼,首先進行混淆處理(獲取所有佈局丟失的代碼),然後通過混淆器運行,這個選項)。

第三個選項是在「調試」模式下生成混淆代碼。除了每個混亂的變量被命名爲「XXX」之外,產生混淆的結果是可識別的。這使得理解正在被調試的代碼與原始代碼一樣容易,同時驗證混淆重命名是正確的。完成調試後,只需在生產模式下重新混淆即可。

+0

這個SD ECMA軟件只是在名稱和字符串文字上播放 - 它很容易「美化」它(除了函數名稱之外的所有東西都被永久替換),但我認爲之前提出了更好的選項。 – Slav 2011-12-06 17:30:12

+0

變量名稱也被模糊處理。 – 2011-12-06 18:45:08