您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關常見的JS混淆工具有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
為了防止盜版或者至少使盜版更加困難,JS開發者常會使用混淆工具對JS代碼進行混淆。
常見的JS混淆工具有以下幾種:
1、YUI Compressor
2、Google Closure Compiler
3、UglifyJS
4、JScrambler
5、JShaman
下面我們通過實例,對比一下這幾種JS混淆工具的性能,看誰的混淆效果最好。
測試源碼:
function displayNoteTitle(note) {
alert(note['title']);
}
var flowerNote = {};
flowerNote['title'] = "Flowers";
displayNoteTitle(flowerNote);
1、YUI Compressor混淆結果:
function displayNoteTitle(a){alert(a.title)}var flowerNote={};flowerNote.title="Flowers";displayNoteTitle(flowerNote);
2、Google Closure Compiler混淆結果:
function displayNoteTitle(a){alert(a.title)}var flowerNote={title:"Flowers"};displayNoteTitle(flowerNote);
3、UglifyJS混淆結果:
function displayNoteTitle(e){alert(e.title)}var flowerNote={};flowerNote.title="Flowers",displayNoteTitle(flowerNote);
4、JScrambler混淆結果:
var
g5b={'S':"A",'A':function(b){flowerNote['title']=b;},'X':"V",'o':(function(E){return
(function(s,p){return (function(G){return {K:G};})(function(m){var
c,R=0;for(var U=s;Ry;})(parseInt,Date,(function(n){return
(''+n)["substring"](1,(n+'')["length"]-1);})('_getTime2'),function(n,a){return
new n()[a]();}),function(m,R){var
d=parseInt(m["charAt"](R),16)["toString"](2);return
d["charAt"](d["length"]-1);});})('3lrno3f7c'),'e':'title','V':function(b){x=b;},'Q':"Flowers",};function
displayNoteTitle(b){alert(b[g5b.e]);}var
flowerNote=g5b.o.K("3d3")?{}:"Flowers";g5b[g5b.S](g5b.Q);displayNoteTitle(flowerNote);g5b[g5b.X](g5b.D);
5、JShaman混淆結果:
var
_0xcb07=['title','Flowers'];(function(_0xecc7fb,_0xdfa845){var
_0x3b37f1=function(_0x663ded){while(--_0x663ded){_0xecc7fb['\x70\x75\x73\x68'](_0xecc7fb['\x73\x68\x69\x66\x74']());}};_0x3b37f1(++_0xdfa845);}(_0xcb07,0x11c));var
_0x7cb0=function(_0x108ec8,_0x507f5d){_0x108ec8=_0x108ec8-0x0;var
_0x586c42=_0xcb07[_0x108ec8];return _0x586c42;};function
displayNoteTitle(_0x23cbc1){alert(_0x23cbc1[_0x7cb0('0x0')]);}var
flowerNote={};flowerNote[_0x7cb0('0x0')]=_0x7cb0('0x1');displayNoteTitle(flowerNote);
測試結論:
YUI
Compressor、Google Closure
Compiler、UglifyJS,這幾個JS工具為一類,他們主要是將JS源碼進行了壓縮,使代碼更為小巧,如果目的是讓代碼體積變小,使用這幾個工具是可以的。但筆者認為,混淆的目的是要讓JS代碼失去可讀性。防止被別人分析利用,顯然這幾個工具并沒有很好的實現這一點。
JScrambler、JShaman的混淆結果是相不錯的,從上面的例子可以看到經過混淆的JS代碼,變的混亂,無法閱讀,真正達到了混淆的目的,使JS代碼不可讀化了。特別需要推薦的是JShaman,是國內的一款專業JS混淆平臺,在線就可以使用,無需注冊,而且可以免費試用,這一點比Jscramber做的更好,Jscramber是英文的、而且使用需要注冊,使用也比較復雜,對國人使用來說,還是頗有不便。因此,在這幾項當前流行的JS混淆工具中,最推薦JShaman。
感謝各位的閱讀!關于“常見的JS混淆工具有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。