2011-04-25 25 views
0

我見過很多混淆代碼,但是,最近我遇到了這樣的代碼:paste2.org。後者使用arguments.callee.toString().replace(/[\s\'\"\)\}\]\[\;\.\{\(]/g, "").length;來防止程序員簡單地用document.write或類似的東西代替eval()。我想知道如何以這種方式自己混淆代碼?有沒有任何工具? (p。注意arguments.callee.toString().repl[..]被稱爲兩次)更深入。即使你經歷了這個階段,代碼也是一團糟。變量/函數名稱是隨機的,而字符串是完全混亂的,看起來像這樣:$(kj49f+4kd+fgdff+hgd25+fh2fg5+adb5)其計算結果僅爲$('.wrapper .foo[name"bar"]')。什麼曾經這樣做?我最近遇到了支付JS混淆服務的jscrambler.com。我想知道是否這是用來混淆代碼的東西。未知的JS迷惑工具

+0

爲了什麼目的?如果你的代碼提供了一些重要的價值,以至於有人想要竊取/逆向工程,那麼即使在混淆之後也是如此。正如你自己指出的那樣,即使字符串'完全混亂',你也能確定原始值,其他值也可以。任何你想要保護的專有資料都只能被保護在服務器端。 – Matt 2011-04-25 18:35:27

+1

冗餘評論,@Matt。是的,我確實明白,不可能混淆代碼,以至於無法將代碼混淆。我想要做的就是把代碼弄糟儘可能 - 如果有人想要它並且不想付錢,就讓他們爲它工作吧。 – Gajus 2011-04-25 19:09:54

回答

0

經過幾周的研究,我發現用於混淆示例代碼的程序是http://jscrambler.com/。這實際上是一個商業軟件。我推薦它嗎?嗯。不確定,因爲我正在撰寫此評論(2011年5月21日),它仍處於開發初期階段&我遇到過多個問題。儘管,一旦報道,他們很快就能整理出來。