Javascript Encoder 자바스크립트 암호화 JS EncoderJs CompressorJavaScript Compressor/Obfuscator. JS Obfuscator, ECMA Encoder, 자바스크립트 압축 , 자바스크립트암호화
자바스크립트 암호화
자바스크립트를 암호화 한다는 자체가 사실상 암호화 보다는 단순 인코딩에 가깝기 때문에 남들이 보기 힘들게 귀찮게 하는 효과 밖에는 없지만.
그래도 하고 싶다면.. 아래와 같은 툴을 사용 할 수 있다.
Microsoft Script Encoder 링크 (
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=e7877f67-c447-4873-b1b0-21f0626a6329)
MS에서 제공하는 스크립트 인코더 이다 하지만 이 인코더도 소스를 완벽히 암호화 하여 볼수 없게 한다기 보다는 일반적으로 봤을때 어떤 구문인지 알아 볼 수 없게금 해준다
장점 : 어느정도 볼수 없을 정도로 인코딩 됨
단점 : IE 에서만 동작함 (5 이상)
인코딩 전 소스
보기
function verifyCorrectBrowser(){
if(navigator.appName == "Microsoft Internet Explorer")
if (navigator.appVersion.indexOf ("5.") >= 0)
return(true);
else
return(false);
}
function getAppropriatePage(){
var str1 = "Had this been an actual Web site, a page compatible with ";
var str2 = "browsers other than ";
var str3 = "Microsoft Internet Explorer 5.0 ";
var str4 = "would have been loaded.";
if (verifyCorrectBrowser())
document.write(str1 + str3 + str4);
else
document.write(str1 + str2 + str3 + str4);
}
인코딩 후 소스
more..
<!--//
//Copyright© 1998 Microsoft Corporation. All Rights Reserved.
//**Start Encode**#@~^QwIAAA==@#@&0;mDkWP7nDb0zZKD.n1YAMGhk+Dvb`@#@&P,kW`UC7kLlDGDcl22gl:n~{'~Jtr1DGkW6YP&xDnD+OPA62sKD+ME#@#@&P,~~k6PvxC\rLmYGDcCwa.n.kkWU bx[+X66Pcr*cJ#,@*{~!*P~P,P~.YEMU`DDEbIP,P,+s/n@#@&P~P,~PM+O;Mx`WC^/n#pN6EU1YbWx,oObaw.WaDrCD+nmL+v#@#@&~P7lMPdY.q,'~J_CN,Y4rkP4nnPCx,C1Y;mV,+(PkrY~~l,wCLPmKhwmYk(snPSkDt~JI@#@&P~\m.PkY.+,'PE8MWA/.kPGDtDPDtmUPri@#@&,P-CMP/D.&,'Pr\rmMWkWWY~(YnDnY,2a2^WDn.,* !,Ep@#@&,P7lD,/D.c,'~JSW;s9Ptm-+,4+U~VKl9+[REI,Pr0,c\DrWHZW..mOAMGS/nM`*#@#@&P,~P9W^Es+UOchDbO+v/YMq~_,/DDfPQ~kY.c*IP,+sd@#@&~~,P[W1;s+UDRSDkD+vdYMF~_,/O.yP_,dYM&P3~dYMc*iNz&R @*^#~@
//-->
Packer JavaScript링크 (
http://joliclic.free.fr/php/javascript-packer/en/index.php)
Joliclic Code에서 제공하는 스크립트 인코더 , PHP로 동작하고 샘플 코드를 사이트에서 직접 생성하여 사용할 수 있다.
장점 : 사이트에서 손쉽게 인코딩 할 수 있고 유니코드와 브라우저 호환성이 좋다.
단점 : 인코딩된 코드를 쉽게(?) 디코딩 할 수 있다.
인코딩 후 소스
more..
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('e f(){2(b.p=="8 c 7")2(b.q.r("5.")>=0)9(s);j 9(t)}e k(){1 4="n l d m o z D, a B E C ";1 i="A u v ";1 3="8 c 7 5.0 ";1 6="w x d y.";2(f())g.h(4+3+6);j g.h(4+i+3+6)}',41,41,'|var|if|str3|str1||str4|Explorer|Microsoft|return||navigator|Internet|been|function|verifyCorrectBrowser|document|write|str2|else|getAppropriatePage|this|an|Had|actual|appName|appVersion|indexOf|true|false|other|than|would|have|loaded|Web|browsers|page|with|site|compatible'.split('|')))
* 비교를 위해 MS Script Encode 와 동일한 소스를 인코딩 함.
scriptasylum.com Javascript Encoderscriptasylum.com 에서 제공하는 Javascript 인코더
링크 (
http://scriptasylum.com/tutorials/encdec/javascript_encoder.html)
장점 : 빠르게 인코딩을 할 수 있다.
단점 : 이게 인코딩이라고 볼 수 있을까? 하는 생각이 듬, 엄청 크기가 커짐.
인코딩 후 소스
more..
<script language=javascript>document.write(unescape('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%7D%3C%2F%73%63%72%69%70%74%3E'));dF('%264Dtdsjqu%2631mbohvbhf%264E%2633kbwbtdsjqu%2633%264F%261E%261Bgvodujpo%2631wfsjgzDpssfduCspxtfs%2639%263%3A%268C%261E%261B%2631%2631jg%2639obwjhbups/bqqObnf%2631%264E%264E%2631%2633Njdsptpgu%2631Joufsofu%2631Fyqmpsfs%2633%263%3A%261E%261B%2631%2631%2631%2631jg%2631%2639obwjhbups/bqqWfstjpo/joefyPg%2631%2639%26336/%2633%263%3A%2631%264F%264E%26311%263%3A%261E%261B%2631%2631%2631%2631%2631%2631sfuvso%2639usvf%263%3A%264C%261E%261B%2631%2631%2631%2631fmtf%261E%261B%2631%2631%2631%2631%2631%2631sfuvso%2639gbmtf%263%3A%264C%261E%261B%268E%261E%261Bgvodujpo%2631hfuBqqspqsjbufQbhf%2639%263%3A%268C%261E%261B%2631%2631wbs%2631tus2%2631%264E%2631%2633Ibe%2631uijt%2631cffo%2631bo%2631bduvbm%2631Xfc%2631tjuf%263D%2631b%2631qbhf%2631dpnqbujcmf%2631xjui%2631%2633%264C%261E%261B%2631%2631wbs%2631tus3%2631%264E%2631%2633cspxtfst%2631puifs%2631uibo%2631%2633%264C%261E%261B%2631%2631wbs%2631tus4%2631%264E%2631%2633Njdsptpgu%2631Joufsofu%2631Fyqmpsfs%26316/1%2631%2633%264C%261E%261B%2631%2631wbs%2631tus5%2631%264E%2631%2633xpvme%2631ibwf%2631cffo%2631mpbefe/%2633%264C%261E%261B%2631%2631jg%2631%2639wfsjgzDpssfduCspxtfs%2639%263%3A%263%3A%261E%261B%2631%2631%2631%2631epdvnfou/xsjuf%2639tus2%2631%2C%2631tus4%2631%2C%2631tus5%263%3A%264C%261E%261B%2631%2631fmtf%261E%261B%2631%2631%2631%2631epdvnfou/xsjuf%2639tus2%2631%2C%2631tus3%2631%2C%2631tus4%2631%2C%2631tus5%263%3A%264C%261E%261B%268E%261E%261B%264D0tdsjqu%264F1')</script>
* 비교를 위해 MS Script Encoder와 동일한 코드를 인코딩 함
스크립트 인코더.. 사실 필요 없기도 하고 필요하기도 하지만 그다지 효율 성은 모르겠다. 하지만 사용자들에게 숨기고 싶은 민망한 코드는 충분히 숨길 수 있기에 선택한다는 느낌이 든다. ^^,
가장 중요한 것은 Javascript 가 사용자 브라우저에 다운로드가 되는 방식임을 감한하여 인코딩 후 얼마나 크기가 작아지느냐 하는게 중요할 것 같다 ^^
선택은 각자 ^^
Trackback
Trackback Address :: http://www.lovelgw.com/Blog/trackback/79