溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

常見(jiàn)的JS混淆工具有哪些

發(fā)布時(shí)間:2021-10-19 14:33:32 來(lái)源:億速云 閱讀:169 作者:小新 欄目:web開(kāi)發(fā)

這篇文章給大家分享的是有關(guān)常見(jiàn)的JS混淆工具有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

為了防止盜版或者至少使盜版更加困難,JS開(kāi)發(fā)者常會(huì)使用混淆工具對(duì)JS代碼進(jìn)行混淆。
常見(jiàn)的JS混淆工具有以下幾種:

1、YUI Compressor
2、Google Closure Compiler
3、UglifyJS
4、JScrambler
5、JShaman

下面我們通過(guò)實(shí)例,對(duì)比一下這幾種JS混淆工具的性能,看誰(shuí)的混淆效果最好。

測(cè)試源碼:

function displayNoteTitle(note) {
alert(note['title']);
}
var flowerNote = {};
flowerNote['title'] = "Flowers";
displayNoteTitle(flowerNote);

1、YUI Compressor混淆結(jié)果:
function displayNoteTitle(a){alert(a.title)}var flowerNote={};flowerNote.title="Flowers";displayNoteTitle(flowerNote);

2、Google Closure Compiler混淆結(jié)果:
function displayNoteTitle(a){alert(a.title)}var flowerNote={title:"Flowers"};displayNoteTitle(flowerNote);

3、UglifyJS混淆結(jié)果:
function displayNoteTitle(e){alert(e.title)}var flowerNote={};flowerNote.title="Flowers",displayNoteTitle(flowerNote);

4、JScrambler混淆結(jié)果:
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混淆結(jié)果:
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);

測(cè)試結(jié)論:
YUI  Compressor、Google Closure   Compiler、UglifyJS,這幾個(gè)JS工具為一類,他們主要是將JS源碼進(jìn)行了壓縮,使代碼更為小巧,如果目的是讓代碼體積變小,使用這幾個(gè)工具是可以的。但筆者認(rèn)為,混淆的目的是要讓JS代碼失去可讀性。防止被別人分析利用,顯然這幾個(gè)工具并沒(méi)有很好的實(shí)現(xiàn)這一點(diǎn)。
JScrambler、JShaman的混淆結(jié)果是相不錯(cuò)的,從上面的例子可以看到經(jīng)過(guò)混淆的JS代碼,變的混亂,無(wú)法閱讀,真正達(dá)到了混淆的目的,使JS代碼不可讀化了。特別需要推薦的是JShaman,是國(guó)內(nèi)的一款專業(yè)JS混淆平臺(tái),在線就可以使用,無(wú)需注冊(cè),而且可以免費(fèi)試用,這一點(diǎn)比Jscramber做的更好,Jscramber是英文的、而且使用需要注冊(cè),使用也比較復(fù)雜,對(duì)國(guó)人使用來(lái)說(shuō),還是頗有不便。因此,在這幾項(xiàng)當(dāng)前流行的JS混淆工具中,最推薦JShaman。

感謝各位的閱讀!關(guān)于“常見(jiàn)的JS混淆工具有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI