W ramach naszej witryny stosujemy pliki cookies zgodnie z Polityką Cookie. Zasady przechowywania lub dostępu plików cookie możesz zmienić w swojej przeglądarce.
X

mywebcases
.com



Blog

Geekowy blog o łamigłówkach, JavaScript i wszystkim, co ciekawe.

Ja tego nie przeczytam!

Cheat Champ - Cheat -
napisał Jakub Caban

Autor aplikacji chytrze zakodował kod JavaScript, abyś nie mógł go odczytać? Nie martw się - jest na to prosty sposób, którym łatwo ominiesz ten problem.

Dzisiaj będzie krótko o problemie, który dla niektórych wydaje się uciążliwy, a często tak na prawdę nie istnieje. Dlatego w ramach Cheat Champ oszczędziłem go Wam w zupełności.

O co bowiem chodzi? Ano o to, że jak widzimy bezpośrednio kod JavaScript na stronie, to jest łatwo. To sobie zawsze ze wszystkim poradzimy. Ale czasem niestety tak nie jest. Czasem widzimy na przykład:

eval((function(s){var a,c,e,i,j,o="",r,t="¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòôõö÷øùúûüýþ#%&'*/>@^`|~";for(i=0;i<s.length;i++){r=t+s[i][2];a=s[i][1].split("");for(j=a.length - 1;j>=0;j--){s[i][0]=s[i][0].split(r.charAt(j)).join(a[j]);}o+=s[i][0];}var p=7500;var x=function(r){var c,p,s,l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789';if(r<63)c=l.charAt(r);else{r-=63;p=Math.floor(r/63);s=r%63;c=l.charAt(p)+l.charAt(s)}return c;};a=o.substr(p).split(':');r=a[1].split('?');a=a[0].split('?');o=o.substr(0,p);if(!''.replace(/^/,String)){var z={};for(i=0;i<71;i++){var y=x(i);z[y]=r[i]||y}t=/ww?/g;y=function(a){return z[a]||a};o=o.replace(t,y);}else{for(j=a[a.length-1]-1;j>=0;j--){if(r[j])o=o.replace(new RegExp(''+(j<63?c.charAt(j):c.charAt((j-63)/63)+c.charAt((j-63)%63))+'','g'),r[j])}}return o.replace(//g,""");})([["ø=j(n){if(typeof(¨])==úrg)ü.split.reverse().jo;ü};ø.q=[ozsZ½łhcotęiwŚ¦'sezrbez»S¦ereikS¦adiN-enaicuR¦c©oN¦ÒÍizeJ-ùnatsnoK½ksaL-zc×J¦y'»seL-aknoiwrceiwahceiC¦@aiB×iÍG-wózsugoizdeizD-°ńyzrboD-buloG¦elźoK-'ręK¦ejþyzdęiM¦ce©O¦ÒneimaKyżrakS¦°ÁatS¦ÜognythcilzS¦@syd@W];j d(){a×rt(Hi there)}j e(i){p i++}j f(a,b){whi×(a<b){ba);ab)}d()}vÁ g=[AlwerèAndryǤAnnoËAuguú¤B*imoú¦B*þ¤BÁc­BÁ»¿BÁl¾BÁtoªBÁw£BełÇ>Bełż&Bę­aaÃi¦aaégÁd¦a@yúok¦B§»¦BÏ0ºB§rýB§rut¤B§żýBiłgþaj¦BiskupÑBi¯BlaÇè"+
"BłaµÀBłażÖBén§¦Bobí£BoÇèBoentÛBogatÉ1ºBojÒ¬Bo×/BíñBrÒ§wo¦BraõBÍd³BÍk¦BrusåBrw¤Bá¹Báµ»e¦BáÔB®oz¤Buk´ByÇÜ¥By»BydÙBytom¦Byt¤CeÞ¦à´ż¥ChęcyÅ`ãciwelÅde»Å§żÅjn¥â£âã͵»Åá×Ů㵻´Ch®^9ºC§Ç~Çoc¾C§µ~«CiężN¦CybCzapl¾CzÁne¦CzÁnñCzÇów¢12ºCzeladź¦Czempi%çn§j¿çÆçw§ńH¢8ºCzęúoÇÖCzép¥CzłĆm¤DÁł¬Dąb§¦Deb®´l­´±§gn§w¦Í§%®ÒåDíÆDrÜ´Drezdenko¦DÍb­Dukl¥Dyn¤Cłd¬CéªCé«Dz§®go%Dz§rżi¤Elbląg¦Ełk¦FramËFÍm¸GÁwí­Gąb­GdaõGÞGiżyÐGlojeck¦Gliw£Gég¤GégóA¦Géw´Głub±GłuÇołazåGłuµyc¥Gn§wk¬Gn§z´Gogí­Gí»¿Go×ni¤Gía¢1"+
"3ºGołańac¦Gołdap¦GÎþl£æn­æ%Gozd³Gó®´Graj¿GÍdñGrójec¦GruÎryb¤Gryf£Gryfi´Gub­HajnówHrub§µ¤IłX¦IłÖIłż¥Im­In¶Iń¹JÒik¬JÁoc­JÁÓJasé¦JaúÁèJaúÍw§¦JÜo®´Jedli»e¦Jedw*ne¢7ºJeziþÒåJędáj¤JþdÒ¤JutÍs­Ka×tåKaliµ¦K@u«Kam§õKań»ug¥KÁ²KÁgÖKÁli´KÁpa»¦KÁtuzåKat¡KcÉ4ºKęp£Kęp´Kęt®ÛKętåKce¦K§t®¦Kis£KײK×µ»eצKlu»¸KłeÐKébuck¦KłU¦Kéko¦Knur¤Kny«Kobyl­KobyłKÚKíbuµÖKí´KíØluµÀ_æK§cËK¢6º_ńØrfÒt¤KoÍn¬Kþµe¦x¦x¦Koµal­_ś`¦_ścêKÁåKoz§n£_żKórÕìjenìñìpk¡ìsnobród¦ìsnyúܦìśÕKÍbi¥KÍs´KÍśëKÍto«KruµwKáp£KᵡK®ywi%Kun¤Ku"+
"t´KwiÛLegi¬Leg³Le¹Leµ´Leśn¥Leś*¦LeżajÆLę¸LędÔLibiąż¦LibÁk¦LimÒÖiÒå´Æ¹Ìa»¤ÌÁt¤ÌÜ¥ÌÜÌ­Ìl­Ìli¼ëÌîÌo%Ìra¼¹LwóA¦Ł*i«Łańcut¦ŁapåŁas­ŁaÆŁaskaáw¦ŁazåŁeb¥Łę»n¥Łę»yc¥Łęk³Łobez¦Łobże³ŁoǤŁomiÒÀŁomż¥Łos£Łi»¦Łódź¦ŁuñMal¸MaéÙM@T¦MÁg­MÁÀMaµ¿Miaúko¦M§Ç¤M§×c¦M§Íµ¤M§µk¡ÊßÊÇód¦vęs¦vęs¦ÊỢ15ºahłajÀahł¤Mikúat¦MilÒóA¦Mili»¦vłak¬vémłÛvłÓMiÍ/MirÆMłX¦MłynÁåMog³Mogil´MońÀMþąg¦MþdåMþy%Mos¥Mrąg¬MÍ»¥Mµ»¤MuµMysł¡MyµñMyµynÑMyś×n£MyślißN@ęac¤Namysł¤NÁí¦NasÆNekl¥NiN§m»¥N§modl­N§połT¦N§µÜ¥Ni¹Ne¢5ºNys¥ObþniÀOb®"+
"yÐOdí^16ºOkàO×ÐO×s´OתOל*¦Olkuµ¦OlµtÛOl¯OłX¦Opa׳Op>Opo»´OpoצOrnet¥Oáµe¦O®yµ¦Os§»nòłękòróg¦Oúród¥t¤t¤Oświęcim¦OtmOtwÚOzimàOzþñOżÁ¤P*iÒ£Pa»ñPaję»´Pakość¦PÁ²Pasłęk¦Pasym¦Pelpl­Peł±Piase»´Piaú¤P§Ç¡P§nięż´P§õP§ªPilPilz´Pińac¤PiÀPiµ¦P×µew¦PłÚPéõPétåPn§wåPob§isPoddęad¦Pogoál¥PíÒ¤Pí£Pík¡PołÒÑPiatÖPÑPþęb¥Pozna%Pr*utåPraµPÍÇ¡P͵¡PrudÕPrus£PruµñP®asnyµ¦PádßPáde»¦PámñPámyśl¦PáwþÆP®ysuÇ¥Pµ»Pµ¤Puck¦PułÜåPułtuÆPuµ»yk¬Py®&Pysk¡PyzdråR*Raciąż¦Racißäñäl­äom¦äom¹äym´äz§j¤äziñäzym­RajÄRakoëRaµñRÜi»¦R"+
"e»¦Re¹Reµel¦Rogoź´Rop±RóżÒ¢4ºRumi¥RybÕRyÇw@¦RydułtåRyRyÀRymÒ¤RÛRy÷÷µ¤SÒdîSÒoköejnåSeÍcköęiµ¤SępoËSiÒ¤S§Çn£S§dlceö§miaty»eö§niÜ¥S§raö§rañS§rpcö§w§®ökalbm§®ökÁµewy¢17ºSkÜ¥Skępe¢3ºSko»¤Skór»ökwêSłÜñSłÜ´SémniÀSłub£Słupc¥SłupÆSobótSoÇa²SokółSompí´SopotöosnÑSośùû¢18ºStaµ¤StÜisÀStÜi«StąpþñStęµewötryñStágomötál­Stál´St®yż¤SuÇańöuÇedni¤SuÇí¥Su×ǤY¤YóAöulęc­SulÂSułNöupraślöuraż¦ag¦agöuw@ÀSwa®ęöyc¤Szadàc­tułåSz»Üùa¢2ºïc­ïc¾ïkocåSz»yrk¦Ý¥Ýo¢19ºSzpÍtÜ¥Sztumözub­SzydéwÑŚcÜ¥Ś×s­Śmig¦Śrem¦ô³ôÕôw"+
"­È£È­Św§c§¦Św§®ÏºŚwoujśc§bágÄTÁn¤T²TeresËTíkmiÐTþýTo®ym¦ToµàT®`T®c¦Tábi>TábièTáb³Támeµ´TuÇí¥TTu»´TuliµñTuràTu«TwÁdogór¥TyÇåTy»ÛTykoc­Ujazd¦UlÒ¤Un§j¤UúUúÍ%Wad¡W@b®yǦW@ac¦WÁWÁµÜ¥WÁt¥WasilñWąbáź´WąÇÚWągÍwÑWejher¬WęglÑ¿y´Węgr¤Wiąz¤W§×%WiǬWi»WýW§ruµ¤Więc¸Wilam¡Wisł¥Witk¬Wit³W×ń¢20ºWécłÜàWłU¦Wéµ»ÖWojc§µ¤Wojk¡WíbÍm¦WíµtÛafł»Ûafém­afł¤afźniÀW¶WÍnÀWáśèWsÇÖWy®yÆWyµñWyµoÄWyśÂZ*łud¤Z*á#gór¤ZagóQ#kopÒe#kÍ»ym#l¿Zambr¤Zamość¦ZÜak§¦ZÜiÇoú¦ZÜid¤Zܧrc§¦ZąbÀnà%Zduny¢0ºZel¤Zg§®¦Zgoá×c¦ZZięad¦"+
"Zéc§nÑZé²Zétþyj¥Zét¤Zwo×%Ż*´Żaga%ŻÁÀŻÁ¤ŻÁåŻe×ǤŻerñŻmiÄŻn­ŻþåŻuk¬ŻuÍm­ŻyÇl­ŻyrÁd¤Żyw§c];f(1600,2400);0?71:|2dUr8_q_YwNA3vutð|Jl|functi·return?liú|y×s§?Oúáµ|Mi|Koú®ynðwek|DziaðChe|sk·kûð®ðomice?odÜa?ܧc|Üa?Su×j|Ko·ð|Bia?ùa?»?bice?Ü?Wo?Suµ?Miko",
"owice,,$c$h(ice,ów,a,,ie$c$h.q[neizdorgszyce¦szyn¦owo¦in¦rzsztynek¦eciwohcczyce¦czew¦nic¥no¦szrocłae¦??????bork¦sko¦),czn§c¦Lub¦eciwoinek¦ewo¦ki¦arm§®yce¦łob®eggród¦¦Chosk¦chŚw§bodzynia¢1vędzypol¦Lubroiądz¦Gawa¢1cko¦§c¦anosłae¦ziny¦nik¦ow¥lesk§¦Kogoµ»¦ock¦yn¦awSz»ytndyni¥bóQ¦ek¦®eChojn¤ChoRady¦GostyCzerni¥ło§®yn¥n§w£Kraolom§®¦Sz»e???k¤¥OstÍŚwidńH¦¦Sp­Rze$c$hnicstowicep ¨]uń¦orSzamo()yn¥dz¦TÁnoeciwFłminWęgo®eizduǤonZbąµyezC¦ic¥k¥-oksDobowB¦ecLip§l-=e(¦Zań¦yce¦nyzabsłV¦at¤ałÒów¢ciÒ??Ò¤C§Dęb",
""]]));

I niektórzy mogą się załamać...

Nie załamuj się, konsola prawdę Ci powie!

Większość czytelników pewnie od razu zauważyła, w czym rzecz. Ale dla wyrównania szans z pozostałymi trzeba to powiedzieć - wszelkie metody kompresji bądź "obrzydzenia" kodu, które polegają na funkcji eval są banalne wręcz w obejściu. Wystarczy bowiem, że skopiujemy treść, zamienimy eval na console.log o tak:

console.log((function(s){var a,c,e,i,j,o="",r,t="¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòôõö÷øùúûüýþ#%&'*/>@^`|~";for(i=0;i<s.length;i++){r=t+s[i][2];a=s[i][1].split("");for(j=a.length - 1;j>=0;j--){s[i][0]=s[i][0].split(r.charAt(j)).join(a[j]);}o+=s[i][0];}var p=7500;var x=function(r){var c,p,s,l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789';if(r<63)c=l.charAt(r);else{r-=63;p=Math.floor(r/63);s=r%63;c=l.charAt(p)+l.charAt(s)}return c;};a=o.substr(p).split(':');r=a[1].split('?');a=a[0].split('?');o=o.substr(0,p);if(!''.replace(/^/,String)){var z={};for(i=0;i<71;i++){var y=x(i);z[y]=r[i]||y}t=/ww?/g;y=function(a){return z[a]||a};o=o.replace(t,y);}else{for(j=a[a.length-1]-1;j>=0;j--){if(r[j])o=o.replace(new RegExp(''+(j<63?c.charAt(j):c.charAt((j-63)/63)+c.charAt((j-63)%63))+'','g'),r[j])}}return o.replace(//g,""");})([["ø=j(n){if(typeof(¨])==úrg)ü.split.reverse().jo;ü};ø.q=[ozsZ½łhcotęiwŚ¦'sezrbez»S¦ereikS¦adiN-enaicuR¦c©oN¦ÒÍizeJ-ùnatsnoK½ksaL-zc×J¦y'»seL-aknoiwrceiwahceiC¦@aiB×iÍG-wózsugoizdeizD-°ńyzrboD-buloG¦elźoK-'ręK¦ejþyzdęiM¦ce©O¦ÒneimaKyżrakS¦°ÁatS¦ÜognythcilzS¦@syd@W];j d(){a×rt(Hi there)}j e(i){p i++}j f(a,b){whi×(a<b){ba);ab)}d()}vÁ g=[AlwerèAndryǤAnnoËAuguú¤B*imoú¦B*þ¤BÁc­BÁ»¿BÁl¾BÁtoªBÁw£BełÇ>Bełż&Bę­aaÃi¦aaégÁd¦a@yúok¦B§»¦BÏ0ºB§rýB§rut¤B§żýBiłgþaj¦BiskupÑBi¯BlaÇè"+
"BłaµÀBłażÖBén§¦Bobí£BoÇèBoentÛBogatÉ1ºBojÒ¬Bo×/BíñBrÒ§wo¦BraõBÍd³BÍk¦BrusåBrw¤Bá¹Báµ»e¦BáÔB®oz¤Buk´ByÇÜ¥By»BydÙBytom¦Byt¤CeÞ¦à´ż¥ChęcyÅ`ãciwelÅde»Å§żÅjn¥â£âã͵»Åá×Ů㵻´Ch®^9ºC§Ç~Çoc¾C§µ~«CiężN¦CybCzapl¾CzÁne¦CzÁnñCzÇów¢12ºCzeladź¦Czempi%çn§j¿çÆçw§ńH¢8ºCzęúoÇÖCzép¥CzłĆm¤DÁł¬Dąb§¦Deb®´l­´±§gn§w¦Í§%®ÒåDíÆDrÜ´Drezdenko¦DÍb­Dukl¥Dyn¤Cłd¬CéªCé«Dz§®go%Dz§rżi¤Elbląg¦Ełk¦FramËFÍm¸GÁwí­Gąb­GdaõGÞGiżyÐGlojeck¦Gliw£Gég¤GégóA¦Géw´Głub±GłuÇołazåGłuµyc¥Gn§wk¬Gn§z´Gogí­Gí»¿Go×ni¤Gía¢1"+
"3ºGołańac¦Gołdap¦GÎþl£æn­æ%Gozd³Gó®´Graj¿GÍdñGrójec¦GruÎryb¤Gryf£Gryfi´Gub­HajnówHrub§µ¤IłX¦IłÖIłż¥Im­In¶Iń¹JÒik¬JÁoc­JÁÓJasé¦JaúÁèJaúÍw§¦JÜo®´Jedli»e¦Jedw*ne¢7ºJeziþÒåJędáj¤JþdÒ¤JutÍs­Ka×tåKaliµ¦K@u«Kam§õKań»ug¥KÁ²KÁgÖKÁli´KÁpa»¦KÁtuzåKat¡KcÉ4ºKęp£Kęp´Kęt®ÛKętåKce¦K§t®¦Kis£KײK×µ»eצKlu»¸KłeÐKébuck¦KłU¦Kéko¦Knur¤Kny«Kobyl­KobyłKÚKíbuµÖKí´KíØluµÀ_æK§cËK¢6º_ńØrfÒt¤KoÍn¬Kþµe¦x¦x¦Koµal­_ś`¦_ścêKÁåKoz§n£_żKórÕìjenìñìpk¡ìsnobród¦ìsnyúܦìśÕKÍbi¥KÍs´KÍśëKÍto«KruµwKáp£KᵡK®ywi%Kun¤Ku"+
"t´KwiÛLegi¬Leg³Le¹Leµ´Leśn¥Leś*¦LeżajÆLę¸LędÔLibiąż¦LibÁk¦LimÒÖiÒå´Æ¹Ìa»¤ÌÁt¤ÌÜ¥ÌÜÌ­Ìl­Ìli¼ëÌîÌo%Ìra¼¹LwóA¦Ł*i«Łańcut¦ŁapåŁas­ŁaÆŁaskaáw¦ŁazåŁeb¥Łę»n¥Łę»yc¥Łęk³Łobez¦Łobże³ŁoǤŁomiÒÀŁomż¥Łos£Łi»¦Łódź¦ŁuñMal¸MaéÙM@T¦MÁg­MÁÀMaµ¿Miaúko¦M§Ç¤M§×c¦M§Íµ¤M§µk¡ÊßÊÇód¦vęs¦vęs¦ÊỢ15ºahłajÀahł¤Mikúat¦MilÒóA¦Mili»¦vłak¬vémłÛvłÓMiÍ/MirÆMłX¦MłynÁåMog³Mogil´MońÀMþąg¦MþdåMþy%Mos¥Mrąg¬MÍ»¥Mµ»¤MuµMysł¡MyµñMyµynÑMyś×n£MyślißN@ęac¤Namysł¤NÁí¦NasÆNekl¥NiN§m»¥N§modl­N§połT¦N§µÜ¥Ni¹Ne¢5ºNys¥ObþniÀOb®"+
"yÐOdí^16ºOkàO×ÐO×s´OתOל*¦Olkuµ¦OlµtÛOl¯OłX¦Opa׳Op>Opo»´OpoצOrnet¥Oáµe¦O®yµ¦Os§»nòłękòróg¦Oúród¥t¤t¤Oświęcim¦OtmOtwÚOzimàOzþñOżÁ¤P*iÒ£Pa»ñPaję»´Pakość¦PÁ²Pasłęk¦Pasym¦Pelpl­Peł±Piase»´Piaú¤P§Ç¡P§nięż´P§õP§ªPilPilz´Pińac¤PiÀPiµ¦P×µew¦PłÚPéõPétåPn§wåPob§isPoddęad¦Pogoál¥PíÒ¤Pí£Pík¡PołÒÑPiatÖPÑPþęb¥Pozna%Pr*utåPraµPÍÇ¡P͵¡PrudÕPrus£PruµñP®asnyµ¦PádßPáde»¦PámñPámyśl¦PáwþÆP®ysuÇ¥Pµ»Pµ¤Puck¦PułÜåPułtuÆPuµ»yk¬Py®&Pysk¡PyzdråR*Raciąż¦Racißäñäl­äom¦äom¹äym´äz§j¤äziñäzym­RajÄRakoëRaµñRÜi»¦R"+
"e»¦Re¹Reµel¦Rogoź´Rop±RóżÒ¢4ºRumi¥RybÕRyÇw@¦RydułtåRyRyÀRymÒ¤RÛRy÷÷µ¤SÒdîSÒoköejnåSeÍcköęiµ¤SępoËSiÒ¤S§Çn£S§dlceö§miaty»eö§niÜ¥S§raö§rañS§rpcö§w§®ökalbm§®ökÁµewy¢17ºSkÜ¥Skępe¢3ºSko»¤Skór»ökwêSłÜñSłÜ´SémniÀSłub£Słupc¥SłupÆSobótSoÇa²SokółSompí´SopotöosnÑSośùû¢18ºStaµ¤StÜisÀStÜi«StąpþñStęµewötryñStágomötál­Stál´St®yż¤SuÇańöuÇedni¤SuÇí¥Su×ǤY¤YóAöulęc­SulÂSułNöupraślöuraż¦ag¦agöuw@ÀSwa®ęöyc¤Szadàc­tułåSz»Üùa¢2ºïc­ïc¾ïkocåSz»yrk¦Ý¥Ýo¢19ºSzpÍtÜ¥Sztumözub­SzydéwÑŚcÜ¥Ś×s­Śmig¦Śrem¦ô³ôÕôw"+
"­È£È­Św§c§¦Św§®ÏºŚwoujśc§bágÄTÁn¤T²TeresËTíkmiÐTþýTo®ym¦ToµàT®`T®c¦Tábi>TábièTáb³Támeµ´TuÇí¥TTu»´TuliµñTuràTu«TwÁdogór¥TyÇåTy»ÛTykoc­Ujazd¦UlÒ¤Un§j¤UúUúÍ%Wad¡W@b®yǦW@ac¦WÁWÁµÜ¥WÁt¥WasilñWąbáź´WąÇÚWągÍwÑWejher¬WęglÑ¿y´Węgr¤Wiąz¤W§×%WiǬWi»WýW§ruµ¤Więc¸Wilam¡Wisł¥Witk¬Wit³W×ń¢20ºWécłÜàWłU¦Wéµ»ÖWojc§µ¤Wojk¡WíbÍm¦WíµtÛafł»Ûafém­afł¤afźniÀW¶WÍnÀWáśèWsÇÖWy®yÆWyµñWyµoÄWyśÂZ*łud¤Z*á#gór¤ZagóQ#kopÒe#kÍ»ym#l¿Zambr¤Zamość¦ZÜak§¦ZÜiÇoú¦ZÜid¤Zܧrc§¦ZąbÀnà%Zduny¢0ºZel¤Zg§®¦Zgoá×c¦ZZięad¦"+
"Zéc§nÑZé²Zétþyj¥Zét¤Zwo×%Ż*´Żaga%ŻÁÀŻÁ¤ŻÁåŻe×ǤŻerñŻmiÄŻn­ŻþåŻuk¬ŻuÍm­ŻyÇl­ŻyrÁd¤Żyw§c];f(1600,2400);0?71:|2dUr8_q_YwNA3vutð|Jl|functi·return?liú|y×s§?Oúáµ|Mi|Koú®ynðwek|DziaðChe|sk·kûð®ðomice?odÜa?ܧc|Üa?Su×j|Ko·ð|Bia?ùa?»?bice?Ü?Wo?Suµ?Miko",
"owice,,$c$h(ice,ów,a,,ie$c$h.q[neizdorgszyce¦szyn¦owo¦in¦rzsztynek¦eciwohcczyce¦czew¦nic¥no¦szrocłae¦??????bork¦sko¦),czn§c¦Lub¦eciwoinek¦ewo¦ki¦arm§®yce¦łob®eggród¦¦Chosk¦chŚw§bodzynia¢1vędzypol¦Lubroiądz¦Gawa¢1cko¦§c¦anosłae¦ziny¦nik¦ow¥lesk§¦Kogoµ»¦ock¦yn¦awSz»ytndyni¥bóQ¦ek¦®eChojn¤ChoRady¦GostyCzerni¥ło§®yn¥n§w£Kraolom§®¦Sz»e???k¤¥OstÍŚwidńH¦¦Sp­Rze$c$hnicstowicep ¨]uń¦orSzamo()yn¥dz¦TÁnoeciwFłminWęgo®eizduǤonZbąµyezC¦ic¥k¥-oksDobowB¦ecLip§l-=e(¦Zań¦yce¦nyzabsłV¦at¤ałÒów¢ciÒ??Ò¤C§Dęb",
""]]));

Po wywołaniu takiego kodu w konsoli (np. Firebug) otrzymamy wynikowo:

$2dUr8_q_YwNA3vut$Jl=function(n){if(typeof($2dUr8_q_YwNA3vut$Jl.list[n])=="string")return $2dUr8_q_YwNA3vut$Jl.list[n].split("").reverse().join("");return $2dUr8_q_YwNA3vut$Jl.list[n]};$2dUr8_q_YwNA3vut$Jl.list=["eciwozseizdZ","eciwołhcotęiwŚ","nyzsezrbezczS","eciweinreikS","adiN-enaicuR","ceizdorgowoN","anroizeJ-nicnatsnoK","eciwoksaL-zcleJ","ynyzczseL-aknoiwrezC","ceiwonahceiC","ałaiB-oksleiB","ecroG-wózsugoB","ecizdeizD-eciwohcezC","ńyzrboD-buloG","elźoK-nyzreizdęK","ejordzyzdęiM","ceineizdorgO","anneimaK-oksyżrakS","eciwohcaratS","awognythcilzS","owowałsydałW"];function d(){alert("Hi there")}function e(i){return i++}function f(a,b){while(a<b){b-=e(a);a-=e(b)}d()}var g=["Alwernia","Andrychów","Annopol","Augustów","Babimost","Baborów","Barcin","Barczewo","Barlinek","Bartoszyce","Barwice","Bełchatów","Bełżyce","Będzin","Białobrzegi","Białogard","Białystok","Biecz","Bielawa",$2dUr8_q_YwNA3vut$Jl(10),"Bieruń","Bierutów","Bieżuń","Biłgoraj","Biskupiec","Bisztynek","Blachownia","Błaszki","Błażowa","Błonie","Bobolice","Bochnia","Bodzentyn","Bogatynia",$2dUr8_q_YwNA3vut$Jl(11),"Bojanowo","Bolesławiec","Bolków","Braniewo","Brańsk","Brodnica","Brok","Brusy","Brwinów","Brzesko","Brzeszcze","Brzeziny","Brzozów","Bukowno","Bychawa","Byczyna","Bydgoszcz","Bytom","Bytów","Cedynia","Chełm","Chełmek","Chełmno","Chełmża","Chęciny","Chocianów","Chociwel","Chodecz","Chodzież","Chojna","Chojnice","Chojnów","Choroszcz","Chorzele","Chorzów","Choszczno","Chrzanów",$2dUr8_q_YwNA3vut$Jl(9),"Ciechanów","Ciechocinek","Cieszanów","Cieszyn","Ciężkowice","Cybinka","Czaplinek","Czarne","Czarnków","Czchów",$2dUr8_q_YwNA3vut$Jl(12),"Czeladź","Czempiń","Czerniejewo","Czersk","Czerwieńsk",$2dUr8_q_YwNA3vut$Jl(8),"Częstochowa","Człopa","Człuchów","Ćmielów","Darłowo","Dąbie","Debrzno","Dębica","Dęblin","Dębno","Dobczyce","Dobiegniew","Dobrodzień","Dobrzany","Dolsk","Drawno","Drezdenko","Drobin","Dukla","Dynów","Działdowo","Działoszyce","Działoszyn","Dzierzgoń","Dzierżoniów","Elbląg","Ełk","Frampol","Frombork","Garwolin","Gąbin","Gdańsk","Gdynia","Giżycko","Glinojeck","Gliwice","Głogów","Głogówek","Głowno","Głubczyce","Głuchołazy","Głuszyca","Gniewkowo","Gniezno","Gogolin","Golczewo","Goleniów","Golina",$2dUr8_q_YwNA3vut$Jl(13),"Gołańcz","Gołdap","Goniądz","Gorlice","Gostynin","Gostyń","Gozdnica","Górzno","Grajewo","Grodków","Grójec","Grudziądz","Grybów","Gryfice","Gryfino","Gubin","Hajnówka","Hrubieszów","Iława","Iłowa","Iłża","Imielin","Inowrocław","Ińsko","Janikowo","Jarocin","Jarosław","Jasło","Jastarnia","Jastrowie","Jaworzno","Jedlicze","Jedwabne",$2dUr8_q_YwNA3vut$Jl(7),"Jeziorany","Jędrzejów","Jordanów","Jutrosin","Kalety","Kalisz","Kałuszyn","Kamieńsk","Kańczuga","Karczew","Kargowa","Karlino","Karpacz","Kartuzy","Katowice","Kcynia",$2dUr8_q_YwNA3vut$Jl(14),"Kępice","Kępno","Kętrzyn","Kęty","Kielce","Kietrz","Kisielice","Kleczew","Kleszczele","Kluczbork","Kłecko","Kłobuck","Kłodawa","Kłodzko","Knurów","Knyszyn","Kobylin","Kobyłka","Kock","Kolbuszowa","Kolno","Kolonowskie","Koluszki","Kołobrzeg","Koniecpol","Konin",$2dUr8_q_YwNA3vut$Jl(6),"Końskie","Korfantów","Koronowo","Korsze","Kostrzyn","Kostrzyn","Koszalin","Kościan","Kościerzyna","Kowary","Kozienice","Kożuchów","Kórnik","Krajenka","Kraków","Krapkowice","Krasnobród","Krasnystaw","Kraśnik","Krobia","Krosno","Krośniewice","Krotoszyn","Kruszwica","Krzepice","Krzeszowice","Krzywiń","Kunów","Kutno","Kwidzyn","Legionowo","Legnica","Lesko","Leszno","Leśna","Leśnica","Leżajsk","Lębork","Lędziny","Libiąż","Lidzbark","Limanowa","Lipiany","Lipno","Lipsk","Lipsko","Lubaczów","Lubartów","Lubawa","Lubawka","Lubin","Lublin","Lubliniec","Lubniewice","Lubomierz","Luboń","Lubraniec","Lubsko","Lwówek","Łabiszyn","Łańcut","Łapy","Łasin","Łask","Łaskarzew","Łazy","Łeba","Łęczna","Łęczyca","Łęknica","Łobez","Łobżenica","Łochów","Łomianki","Łomża","Łosice","Łowicz","Łódź","Łuków","Malbork","Małogoszcz","Małomice","Margonin","Marki","Maszewo","Miastko","Miechów","Mielec","Mieroszów","Mieszkowice","Międzybórz","Międzychód","Międzylesie","Międzylesie","Międzyrzecz",$2dUr8_q_YwNA3vut$Jl(15),"Mikołajki","Mikołów","Mikstat","Milanówek","Milicz","Miłakowo","Miłomłyn","Miłosław","Mirosławiec","Mirsk","Mława","Młynary","Mogielnica","Mogilno","Mońki","Morąg","Mordy","Moryń","Mosina","Mrągowo","Mrocza","Mszczonów","Muszyna","Mysłowice","Myszków","Myszyniec","Myślenice","Myślibórz","Nałęczów","Namysłów","Narol","Nasielsk","Nekla","Nidzica","Niemcza","Niemodlin","Niepołomice","Nieszawa","Nisko","Nowe",$2dUr8_q_YwNA3vut$Jl(5),"Nysa","Oborniki","Obrzycko","Odolanów",$2dUr8_q_YwNA3vut$Jl(16),"Okonek","Olecko","Olesno","Oleszyce","Oleśnica","Olkusz","Olsztyn","Olsztynek","Oława","Opalenica","Opatów","Opoczno","Opole","Orneta","Orzesze","Orzysz","Osieczna","Ostrołęka","Ostroróg","Ostróda","Ostrzeszów","Ostrzeszów","Oświęcim","Otmuchów","Otwock","Ozimek","Ozorków","Ożarów","Pabianice","Paczków","Pajęczno","Pakość","Parczew","Pasłęk","Pasym","Pelplin","Pełczyce","Piaseczno","Piastów","Piechowice","Pieniężno","Pieńsk","Pieszyce","Pilica","Pilzno","Pińczów","Pionki","Pisz","Pleszew","Płock","Płońsk","Płoty","Pniewy","Pobiedziska","Poddębice","Pogorzela","Polanów","Police","Polkowice","Połaniec","Poniatowa","Poniec","Poręba","Poznań","Prabuty","Praszka","Prochowice","Proszowice","Prudnik","Prusice","Pruszków","Przasnysz","Przedbórz","Przedecz","Przemków","Przemyśl","Przeworsk","Przysucha","Pszczyna","Pszów","Puck","Puławy","Pułtusk","Puszczykowo","Pyrzyce","Pyskowice","Pyzdry","Rabka","Raciąż","Racibórz","Radków","Radlin","Radom","Radomsko","Radymno","Radziejów","Radzionków","Radzymin","Rajgród","Rakoniewice","Raszków","Rawicz","Recz","Resko","Reszel","Rogoźno","Ropczyce","Różan",$2dUr8_q_YwNA3vut$Jl(4),"Rumia","Rybnik","Rychwał","Rydułtowy","Rydzyna","Ryki","Rymanów","Ryn","Rypin","Rzepin","Rzeszów","Sandomierz","Sanok","Sejny","Serock","Sędziszów","Sępopol","Sianów","Siechnice","Siedlce","Siemiatycze","Sieniawa","Sieradz","Sieraków","Sierpc","Siewierz","Skalbmierz","Skarszewy",$2dUr8_q_YwNA3vut$Jl(17),"Skawina","Skępe",$2dUr8_q_YwNA3vut$Jl(3),"Skoczów","Skórcz","Skwierzyna","Sławków","Sławno","Słomniki","Słubice","Słupca","Słupsk","Sobótka","Sochaczew","Sokółka","Sompolno","Sopot","Sosnowiec","Sośnicowice",$2dUr8_q_YwNA3vut$Jl(18),"Staszów","Stawiski","Stawiszyn","Stąporków","Stęszew","Stryków","Strzegom","Strzelin","Strzelno","Strzyżów","Suchań","Suchedniów","Suchowola","Sulechów","Sulejów","Sulejówek","Sulęcin","Sulmierzyce","Sułkowice","Supraśl","Suraż","Susz","Susz","Suwałki","Swarzędz","Syców","Szadek","Szamocin","Szamotuły","Szczawnica",$2dUr8_q_YwNA3vut$Jl(2),"Szczecin","Szczecinek","Szczekociny","Szczyrk","Szczytna","Szczytno",$2dUr8_q_YwNA3vut$Jl(19),"Szprotawa","Sztum","Szubin","Szydłowiec","Ścinawa","Ślesin","Śmigiel","Śrem","Świdnica","Świdnik","Świdwin","Świebodzice","Świebodzin","Świecie","Świerzawa",$2dUr8_q_YwNA3vut$Jl(1),"Świnoujście","Tarnobrzeg","Tarnogród","Tarnów","Tczew","Terespol","Tolkmicko","Toruń","Torzym","Toszek","Trzcianka","Trzciel","Trzebiatów","Trzebinia","Trzebnica","Trzemeszno","Tuchola","Tuchów","Tuczno","Tuliszków","Turek","Tuszyn","Twardogóra","Tychy","Tyczyn","Tykocin","Ujazd","Ulanów","Uniejów","Ustka","Ustroń","Wadowice","Wałbrzych","Wałcz","Warka","Warszawa","Warta","Wasilków","Wąbrzeźno","Wąchock","Wągrowiec","Wejherowo","Węgliniec","Węgorzewo","Węgorzyno","Węgrów","Wiązów","Wieleń","Wielichowo","Wieliczka","Wieluń","Wieruszów","Więcbork","Wilamowice","Wisła","Witkowo","Witnica","Wleń",$2dUr8_q_YwNA3vut$Jl(20),"Włocławek","Włodawa","Włoszczowa","Wojcieszów","Wojkowice","Wolbrom","Wolsztyn","Wołczyn","Wołomin","Wołów","Woźniki","Wrocław","Wronki","Września","Wschowa","Wyrzysk","Wyszków","Wyszogród","Wyśmierzyce","Zabłudów","Zabrze","Zagórów","Zagórz","Zakopane","Zakroczym","Zalewo","Zambrów","Zamość","Zawadzkie","Zawichost","Zawidów","Zawiercie","Ząbki","Zbąszynek","Zbąszyń","Zduny",$2dUr8_q_YwNA3vut$Jl(0),"Zelów","Zgierz","Zgorzelec","Zielonka","Ziębice","Złocieniec","Złoczew","Złotoryja","Złotów","Zwoleń","Żabno","Żagań","Żarki","Żarów","Żary","Żelechów","Żerków","Żmigród","Żnin","Żory","Żukowo","Żuromin","Żychlin","Żyrardów","Żywiec"];f(1600,2400);

A ten kod już wystarczy skopiować do dowolnego IDE, które nam go przeformatuje do ładnego, czytelnego JS, by zauważyć, że 99% jest nie ważne i tak na prawdę jedyne, co kod wykonuje, to alert z napisem "Hi there". Z pewnością nie tego pliku szukaliśmy - powtarzamy więc czynność dla kolejnego. W końcu trafimy na te elementy, które nas interesują.

Dlaczego to działa?

Funkcja eval w JavaScript ma za zadanie wykonać kod przekazany do niej jako argument. Natomiast funkcja console.log ma za zadanie wyświetlić informacje o przekazanym argumencie. Skoro wiemy, że eval jest w stanie wykonać argument, to musi on być tekstową reprezentacją kodu. Tak więc jeśli zamiast kod wykonać po prostu wyświetlimy... No cóż - osiągniemy właśnie cel, czyli poznamy jego zawartość.

Ten trik warto więc dodać sobie do szufladki w głowie "proste, szybkie", aby natrafiając na takie problemy nie tracić czasu na myślenie. Tylko po prostej linii je rozwiązywać.

P.S: Listy miast w Polsce się czasem przydają, a szukanie ich chwilę zajmuje - zachęcam do skopiowania i zapisania sobie gdzieś na dysku ;)

Cheat
Oszukiwanie internetowych aplikacji konkursowych w najczystszym wydaniu. Dzięki wiedzy Tymoteusza możecie się dowiedzieć jak wygrać tak, aby nikt nie miał Wam nic do zarzucenia.

Podobne artykuły:

Skomentuj: