Uczę się testów penetracyjnych i pomyślałem sobie aby przejść na obojętnie jaka stronę internetowa i przeanalizować co robi dany kod na stronie.
O ile rozumiem co robi ta ta pierwsza instrukcja (przynajmniej taka mam nadzieje) w funkcji eval o tyle kompletnie nie rozumiem co robi ta druga instrukcja rozpoczynajaca się od ciagu ('7 G.
Z góry przepraszam za niesformatowany kod.
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))};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}('7 G={j:"T+/=",S:C(5){7 8="";7 t,o,m,v,s,h,f;7 i=0;5=G.J(5);F(i<5.E){t=5.q(i++);o=5.q(i++);m=5.q(i++);v=t>>2;s=((t&3)<<4)|(o>>4);h=((o&H)<<2)|(m>>6);f=m&u;p(M(o)){h=f=z}x p(M(m)){f=z}8=8+k.j.l(v)+k.j.l(s)+k.j.l(h)+k.j.l(f)}B 8},R:C(5){7 8="";7 t,o,m;7 v,s,h,f;7 i=0;5=5.I(/[^A-P-Q-9\\+\\/\\=]/g,"");F(i<5.E){v=k.j.D(5.l(i++));s=k.j.D(5.l(i++));h=k.j.D(5.l(i++));f=k.j.D(5.l(i++));t=(v<<2)|(s>>4);o=((s&H)<<4)|(h>>2);m=((h&3)<<6)|f;8=8+d.b(t);p(h!=z){8=8+d.b(o)}p(f!=z){8=8+d.b(m)}}8=G.O(8);B 8},J:C(e){e=e.I(/\\r\\n/g,"\\n");7 a="";10(7 n=0;n<e.E;n++){7 c=e.q(n);p(c<w){a+=d.b(c)}x p((c>Y)&&(c<U)){a+=d.b((c>>6)|V);a+=d.b((c&u)|w)}x{a+=d.b((c>>N)|L);a+=d.b(((c>>6)&u)|w);a+=d.b((c&u)|w)}}B a},O:C(a){7 e="";7 i=0;7 c=W=y=0;F(i<a.E){c=a.q(i);p(c<w){e+=d.b(c);i++}x p((c>Z)&&(c<L)){y=a.q(i+1);e+=d.b(((c&X)<<6)|(y&u));i+=2}x{y=a.q(i+1);K=a.q(i+2);e+=d.b(((c&H)<<N)|((y&u)<<6)|(K&u));i+=3}}B e}}',62,63,'|||||input||var|output||utftext|fromCharCode||String|string|enc4||enc3||_keyStr|this|charAt|chr3||chr2|if|charCodeAt||enc2|chr1|63|enc1|128|else|c2|64||return|function|indexOf|length|while|Base64|15|replace|_utf8_encode|c3|224|isNaN|12|_utf8_decode|Za|z0|decode|encode|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|2048|192|c1|31|127|191|for'.split('|'),0,{}));