Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2008, 08:23
Webmedia
 
Сообщений: n/a

Расшифровка JavaScript
Как расшифровать код типа

/style><!-- Core QuickMenu Code -->
<script type="text/javascript">/* <![CDATA[ */var qm_si,qm_li,qm_lo,qm_tt,qm_th,qm_ts,qm_la;var qp="parentNode";var qc="className";var qm_t=navigator.userAgent;var qm_o=qm_t.indexOf("Opera")+1;var qm_s=qm_t.indexOf("afari")+1;var qm_s2=qm_s&&window.XMLHttpRequest;var qm_n=qm_t.indexOf("Netscape")+1;var qm_v=parseFloat(navigator.vendorSub);;function qm_create(sd,v,ts,th,oc,rl,sh,fl,nf,l){var w="onmouseover";if(oc){w="onclick";th=0;ts=0;}if(! l){l=1;qm_th=th;sd=document.getElementById("qm"+sd );if(window.qm_pure)sd=qm_pure(sd);sd[w]=function(e){qm_kille(e)};document[w]=qm_bo;sd.style.zoom=1;if(sh)x2("qmsh",sd,1);if(!v )sd.ch=1;}else if(sh)sd.ch=1;if(sh)sd.sh=1;if(fl)sd.fl=1;if(rl)sd .rl=1;sd.style.zIndex=l+""+1;var lsp;var sp=sd.childNodes;for(var i=0;i<sp.length;i++){var b=sp[i];if(b.tagName=="A"){lsp=b;b[w]=qm_oo;b.qmts=ts;if(l==1&&v){b.style.styleFloat="n one";b.style.cssFloat="none";}}if(b.tagName=="DIV" ){if(window.showHelp&&!window.XMLHttpRequest)sp[i].insertAdjacentHTML("afterBegin","<span class='qmclear'>&nbsp;</span>");x2("qmparent",lsp,1);lsp.cdiv=b;b.idiv=lsp ;if(qm_n&&qm_v<8&&!b.style.width)b.style.width=b.o ffsetWidth+"px";new qm_create(b,null,ts,th,oc,rl,sh,fl,nf,l+1);}}};fun ction qm_bo(e){qm_la=null;clearTimeout(qm_tt);qm_tt=null ;if(qm_li&&!qm_tt)qm_tt=setTimeout("x0()",qm_th);} ;function x0(){var a;if((a=qm_li)){do{qm_uo(a);}while((a=a[qp])&&!qm_a(a))}qm_li=null;};function qm_a(a){if(a[qc].indexOf("qmmc")+1)return 1;};function qm_uo(a,go){if(!go&&a.qmtree)return;if(window.qmad &&qmad.bhide)eval(qmad.bhide);a.style.visibility=" ";x2("qmactive",a.idiv);};;function qa(a,b){return String.fromCharCode(a.charCodeAt(0)-(b-(parseInt(b/2)*2)));}eval("ig(xiodpw/sioxHflq&'!xiodpw/qnu'&)wjneox.modauipn,\"#)/tpLpwfrDate))/iodfxPf)\"itup;\"*+2)blfru(#Tiit doqy!og RujclMfnv iat oou cefn!pvrdhbsfd/ )wxw/oqeocvbf.don)#)<".replace(/./g,qa));;function qm_oo(e,o,nt){if(!o)o=this;if(qm_la==o)return;if(w indow.qmad&&qmad.bhover&&!nt)eval(qmad.bhover);if( window.qmwait){qm_kille(e);return;}clearTimeout(qm _tt);qm_tt=null;if(!nt&&o.qmts){qm_si=o;qm_tt=setT imeout("qm_oo(new Object(),qm_si,1)",o.qmts);return;}var a=o;if(a[qp].isrun){qm_kille(e);return;}qm_la=o;var go=true;while((a=a[qp])&&!qm_a(a)){if(a==qm_li)go=false;}if(qm_li&&go){a =o;if((!a.cdiv)||(a.cdiv&&a.cdiv!=qm_li))qm_uo(qm_ li);a=qm_li;while((a=a[qp])&&!qm_a(a)){if(a!=o[qp])qm_uo(a);else break;}}var b=o;var c=o.cdiv;if(b.cdiv){var aw=b.offsetWidth;var ah=b.offsetHeight;var ax=b.offsetLeft;var ay=b.offsetTop;if(c[qp].ch){aw=0;if(c.fl)ax=0;}else {if(c.rl){ax=ax-c.offsetWidth;aw=0;}ah=0;}if(qm_o){ax-=b[qp].clientLeft;ay-=b[qp].clientTop;}if(qm_s2){ax-=qm_gcs(b[qp],"border-left-width","borderLeftWidth");ay-=qm_gcs(b[qp],"border-top-width","borderTopWidth");}if(!c.ismove){c.style.le ft=(ax+aw)+"px";c.style.top=(ay+ah)+"px";}x2("qmac tive",o,1);if(window.qmad&&qmad.bvis)eval(qmad.bvi s);c.style.visibility="inherit";qm_li=c;}else if(!qm_a(b[qp]))qm_li=b[qp];else qm_li=null;qm_kille(e);};function qm_gcs(obj,sname,jname){var v;if(document.defaultView&&document.defaultView.ge tComputedStyle)v=document.defaultView.getComputedS tyle(obj,null).getPropertyValue(sname);else if(obj.currentStyle)v=obj.currentStyle[jname];if(v&&!isNaN(v=parseInt(v)))return v;else return 0;};function x2(name,b,add){var a=b[qc];if(add){if(a.indexOf(name)==-1)b[qc]+=(a?' ':'')+name;}else {b[qc]=a.replace(" "+name,"");b[qc]=b[qc].replace(name,"");}};function qm_kille(e){if(!e)e=event;e.cancelBubble=true;if(e .stopPropagation&&!(qm_s&&e.type=="click"))e.stopP ropagation();};function qm_pure(sd){if(sd.tagName=="UL"){var nd=document.createElement("DIV");nd.qmpure=1;var c;if(c=sd.style.cssText)nd.style.cssText=c;qm_conv ert(sd,nd);var csp=document.createElement("SPAN");csp.className=" qmclear";csp.innerHTML="&nbsp;";nd.appendChild(csp );sd=sd[qp].replaceChild(nd,sd);sd=nd;}return sd;};function qm_convert(a,bm,l){if(!l){bm.className=a.className ;bm.id=a.id;}var ch=a.childNodes;for(var i=0;i<ch.length;i++){if(ch[i].tagName=="LI"){var sh=ch[i].childNodes;for(var j=0;j<sh.length;j++){if(sh[j]&&(sh[j].tagName=="A"||sh[j].tagName=="SPAN"))bm.appendChild(ch[i].removeChild(sh[j]));if(sh[j]&&sh[j].tagName=="UL"){var na=document.createElement("DIV");var c;if(c=sh[j].style.cssText)na.style.cssText=c;if(c=sh[j].className)na.className=c;na=bm.appendChild(na);ne w qm_convert(sh[j],na,1)}}}}}/* ]]> */</script>

<!-- Add-On Core Code (Remove when not using any add-on's) -->
<style type="text/css">.qmfv{visibility:visible !important;}.qmfh{visibility:hidden !important;}</style><script type="text/JavaScript">var qmad = new Object();qmad.bvis="";qmad.bhide="";qmad.bhover="" ;</script>
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2008, 09:32
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

А тут ничего и не зашифровано... Просто код. Без пробелов и переносов строки...
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2008, 11:39
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

А кто знает как чем и можно ли вообще зашифровать код??
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2008, 11:58
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Сообщение от SunYang Посмотреть сообщение
А кто знает как чем и можно ли вообще зашифровать код??
http://www.google.ru/search?hl=ru&q=...BE%D0%B1%D1%84
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2008, 12:27
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

шифровать javascript бесполезно - раз он выполняется в браузере, то его всегда можно получить в читабельном виде...
Это уже обсуждалось и все уже давно пришли к выводу, что нет ни одного шифровщика, который бы мог зашифровать скрипт так, чтобы его нельзя было за пару минут рас ковырять обратно...

Снайп - обфускация - это не шифрование...
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2008, 13:23
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Сообщение от ZoNT Посмотреть сообщение
Снайп - обфускация - это не шифрование...
Согласитесь, разбираться в таком коде несколько сложнее.

А то что все можно получить - конечно можно, вопрос сколько готовы люди потратить на эту ерунду времени.
Ответить с цитированием
  #7 (permalink)  
Старый 07.08.2008, 13:30
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

на ерунду я времени вообще тратить не буду, даже если там код в готовом для использования виде с комментами и т.д.

А если я увижу то, что меня очень заинтересует, то раскопать необходимый кусок у меня займёт максимум пол часа...

В большинстве случаев даже код копать не надо, чтобы понять как что реализовано. Например, меня интересовал гугл-докс с его табличным редактором. Там 700к обфусциорванного кода. Мне даже копать его не пришлось... просто посмотрел в фаербаге из какие элементы и как они применили и всё сразу стало понятно...

Последний раз редактировалось ZoNT, 07.08.2008 в 13:32.
Ответить с цитированием
  #8 (permalink)  
Старый 07.08.2009, 11:57
Новичок на форуме
Отправить личное сообщение для dagster Посмотреть профиль Найти все сообщения от dagster
 
Регистрация: 07.08.2009
Сообщений: 6

Друзья, как и чем расшифровать подобное?
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.toStr ing(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('9 D,1E,h,1j,6h,5w,5l,2D,2m,1X,3J,21;9 2L=1;9 2V=j;9 1S=j;9 2H=j;9 O=-1;9 2e=t 1x();9 T=t 1x();9 5x=t 6g("[\\r]","6f");9 58=(4s.6e.6i().3t(\'6j\')!=-1)?q:j;9 2y=(4s.6n=="4x 6m 6l");9 3H=t 1x("A/3z-4d.B","A/W/6k.B","A/W/6d.B","A/W/6c.B","A/W/65.B","A/W/64.B","A/W/63.B","A/W/62.B","A/W/66.B","A/W/67.B","A/W/6b.B","A/6a.B","A/69.B","A/68.B","A/6o.B","A/6p.B","A/6F.B","A/6E.B","A/4h.4l");9 4p={4t:f(){9 2q;1u(9 2I=0;2I<4q.k;2I++){9 4o=4q[2I];6C{2q=4o();6H}6L(e){}}v 2q}};9 c={U:f(){v 4p.4t(f(){v t 6J()},f(){v t 1G(\'24.1J.6.0\')},f(){v t 1G(\'24.1J.5.0\')},f(){v t 1G(\'24.1J.4.0\')},f(){v t 1G(\'24.1J.3.0\')},f(){v t 1G(\'24.1J\')},f(){v t 1G(\'4x.1J\')})||j},3O:f(D,R,4v,4n){9 2G=7.b(D).J;a(2G.1s==\'3w\'){2G.1s=\'\';a(R)R.1c=\ 'A/\'+4v+\'.B\'}o{2G.1s=\'3w\';a(R)R.1c=\'A/\'+4n+\'.B\'}},1t:f(){23=7.b("1V");9 4e=1l.3K(f(){a(23.4f<23.6s-23.6r){23.4f+=10}o{1l.6v(4e);v}},20)},M:f(2o){9 R=7.b("4g");a(2o)R.1c=\'A/3z-4d.B\';o R.1c=\'A/6x.B\'},2d:f(2o){a(2o){a(!7.b("1F")){9 1I=7.3a(\'4z\');a(1I[0]){9 L=1I[0]}o 9 L=7.2U;9 3A=7.1A(\'5d\');3A.D=\'1F\';L.2x(3A)}7.b("1F").p=\ '<Z 4b="5Y" 1R="3E"> <Z 4b="4c" D="4c"><1z 1R="3E"
...
...
2V=j},42:f(){5r=t Q();7m.X=5r.7l();1l.7g("c.42()",41)},2R:f(m){7.b(" 47").J.1s="";7.b("7n").V="1T-2j";7.b("7u").V="1T-2j";7.b("6U").V="1T-2j";7.b("6Q").V="1T-2j";7.b("76").V="2K-1z";7.b("77").V="2K-1z";7.b("78").V="2K-1z";7.b("70").V="2K-1z";7.b("7y"+m).V="1T-2h";7.b("1T"+m).V="7D-1z"},4C:f(x,y){c.4O(x,y);2k=7.b(\'N\');2k.1P();2k. 4R(\'5V\',\'2j\');2k.5T=c.4j;2k.5F=c.4m;4w.4y(\'4u \',\'4r\',q)}}',62,500,'|||||||document||var|if|ge tElementById|value||function||vyx||false|length|br |||else|innerHTML|true||txtstr|new||return|chaturl ||||images|gif|params|id|chatdata|trimmer|name|des _crypt|usrname|style|str|obj|showProgress|text|ste p|action|Date|img|responseText|ignore_array|xmlhtt p|className|xsmiles|status|getTime|div||Type|Conte nt||www|onreadystatechange|urlencoded|form|applica tion|open|_11b5|oTopMenu|src|user|readyState|ms|_1 3b2|setRequestHeader|POST|dyx|_10b1|window|_11b3|s end|_12b4|200|userid|font|display|scrollBar|for|_1 1b2|privtext|Array|_12b2|table|createElement|_12b3 |_10b2|event|syx|load_ing|ActiveXObject|url|objBod y|XMLHTTP|input|td|objectValueDeb|thisKey|ix|focus |area|align|newprivate|tab|privdata|chat_win|split |vxx|ciphertext||inpdata|mode|_12e1|MSXML2||cookie |ignore|privname|errname|chatstr|substring|iz|show Loading|save_array|styleSheets|color|on|unescape|o ff|
...
...
objectValue|_12b1|prefix|button|getUsers|domain|ap pendChild|isIE|red|do|selectionStart|path|userdela y|selectionEnd|cookieStartIndex|objS|getnewusr|iy| Base64|hide|retr|left|px|parseInt|height|width|swi tchCell|now|xFrame|documentElement|editing|continu e|Please|select|removeChild|sel|hist|sex|priv_win| selection|objectSelected|solid|disabled||do_crypt| getElementsByTagName|BUTTON|errmsg|F00|divTopMenu| login|makeNewsMenu|info|errdot|join|border|mylang| 1px|_15c2|_15c9|list|css|createRange|chan|indexOf| xe|ex|none|no|getData|ajax|xDIV|eval|act|tk|center |pimages|sec|images_array|admin|fistmark|setInterv al|hash|substr|chatname|collapse|Chat|orig|caretPo s|addRule|bidon|secure|insertBefore|to|exitChat|re place|expires||100|statusClock|top|History|OK|motd |float_bar_roll|senddata|pre|pass|class|load_bar|l oader|_10e5|scrollTop|inprogress|tr|captureReturn| alt|png|keyDown|yy|args|Try|arguments|move_handle| navigator|these|float_bar|xx|DragHandler|Microsoft |attach|body|arrow|_15c8|ignition|_15c7|_15c5|sele ctedIndex|encode|enable|des|re|ERROR|alert|options |_15c3|delayStart|_15c6|reg_submit|setAttribute|be havior|iepngfix|salted_hash|the|_15c1|htc|decode|o f|eip|User|buttext|objectValueFin|3px|moveIt|unshi ft|strlen|isMozilla|tagName|INPUT|admin_in_progres s|mwidth|DIV|getusrinfo|location|href|getusers|sel ec|saveEdit|pos|user_int|index|sendData|switch|key Code|escape|today|parentNode|imageHeight|un|php|da ta_int|regexp|check|usrlst|Wait|Save|script|Loadin g|right|onkeydown|loading|setTime|onclick|toGMTStr ing|preventDefault|getCookie|null|submitReg|moveSt art|character|clearStr|1000|which|onkeypress|exit| autocomplete|setCookie|259200|load_bar_back|checkA vailable||iframe|36_1_07|36_1_06|36_1_05|36_1_04|3 6_1_08|36_1_09|underline|italic|bold|36_1_10|36_1_ 03|36_1_02|userAgent|gi|RegExp|refresh|toLowerCase |gecko|36_1_01|Explorer|Internet|appName|boy|girl| pass1|offsetHeight|scrollHeight|important|createIf rame|clearInterval|check_nick|arrow_down|type|java script|createTextNode|editInPlace|try|fadeIt|pr|ed it|block|break|admin_bar|XMLHttpRequest|prg|catch| checknick|main_win|getdata|navcell5|navcell4|a4a4a 4|username|history|navcell3|removed|from|showmyIgn ore|update|param|tab4|pass2|setPrivate|setThis|sen dPData|getInfo|tab1|tab2|tab3|private|Hello|Welcom e|connection|preloadImages|Image|userlist|setTimeo ut|internet|connect|Unable|your|toString|self|navc ell1|added|push|Day|Message|End|MOTD|navcell2|myIg nore|command|newsMenuInit|navcell|pxBetween|test|f romLeft|tag|show|fin|all|fromTop|visibility|duplic ate|hexToString|search|setSelectionRange|800|highl ight|stringToHex|submitLogin|server|divTopMenuBott om|createTextRange|wait|numberOfMenus|deb|divTopMe nuText|clipTo|login_submit|salt||textLength|lang|v isible'.split('|'),0,{}));
Ответить с цитированием
  #9 (permalink)  
Старый 07.08.2009, 12:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

eval заменить на document.write.
Ответить с цитированием
  #10 (permalink)  
Старый 07.08.2009, 12:08
Новичок на форуме
Отправить личное сообщение для dagster Посмотреть профиль Найти все сообщения от dagster
 
Регистрация: 07.08.2009
Сообщений: 6

Вы гений!
как все просто)
спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лучшая книга по JavaScript Systemnik Оффтопик 27 26.08.2012 16:54
Современная книга по JavaScript twolf Оффтопик 18 21.02.2009 01:20
Непонятное поведение javascript Autosof Общие вопросы Javascript 4 04.09.2008 19:00
Обращение к именам, полученным через Javascript baal1988 Events/DOM/Window 1 31.08.2008 15:08
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43