Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
#1 · Zasláno: 27. 11. 2013, 09:44:27
Dá sa toto nejako rozkódovať?
var _0xad73=["\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21","\x0A","\x4F\x4B"];var a=_0xad73[0];function MsgBox(_0xe609x3){alert(_0xe609x3+_0xad73[1]+a);} ;MsgBox(_0xad73[2]); |
||
Chamurappi Profil |
#2 · Zasláno: 27. 11. 2013, 09:51:23
Reaguji na IdemeNaHavaje:
Samozřejmě. Když tomu rozumí prohlížeč, je prakticky jisté, že tomu může rozumět i člověk. Otázka je, kolik úsilí musí vyvinout. Tohle ani není moc těžké, řetězec "\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21" je "Hello World!" zapsaný escape-sekvencemi (\x48 je znak U+0048, tedy znak číslo 72, tedy H , atd.), další v poli je znak odřádkování a pak "OK" . Zbytek je už jen práce s tímto polem, které sice má strašidelný název _0xad73 , ale pořád je to obyčejné pole.
|
||
IdemeNaHavaj Profil |
Chamurappi:
Ďakujem za odpoveď, toto ale nevie hocikto (dufam), ale preistotu sa spýtam, poznáš alebo odporučíš mi nejaký ťažší zakódovač javascriptu? Poznám ešte http://closure-compiler.appspot.com/home, ten síce kóduje jak koň ale v dlhých scriptoch mi vznikajú nejaké errory (iba pri tom najťažšom zakódovaní) Ešte som našiel https://github.com/mishoo/UglifyJS2 ale ten neviem ako nainštalovať, aké programy potrebujem aby som napísal to npm install a usage atď.. |
||
maks Profil |
IdemeNaHavaj:
už zase se snažíš ochránit něco unikátního, co by ti neměl nikdo přečíst, či snad převzít? :-) Jediné zabránění je nevkládat to na web. Obyčejnému uživateli je to buřt, ten neporozumí ani JS v čitelné podobě (ani neví jak by se k němu dostal, pokud bude vědět, že někde nějaký JS je). Tomu zbytku nijak nezabráníš. A drtivá většina toho zbytku nad tvým kódem ohrne nos, neb si napíše jiný (dost možná i lepší, alespoň z pohledu daného uživatele). |
||
IdemeNaHavaj Profil |
#5 · Zasláno: 27. 11. 2013, 10:15:54
maks:
to je pravda, obyčajnému človeku je to jedno.. ten môj zakódovaný script má 72107 znakov, to sa asi nikomu nebude chcieť rozkódovávať že čo je aký znak, len ma za zaujíma či na to rozkodovanie nieje online služba čo by to spravila za par sekund. Premňa nech si to aj zobrazia.. :) |
||
maks Profil |
#6 · Zasláno: 27. 11. 2013, 10:21:53
IdemeNaHavaj:
„ten môj zakódovaný script má 72107 znakov“ gratuluji. "rozkodování" zabere taktéž pár sekund online, nebo asi tak 3 minuty v případě, že si převodník napíšu sám. |
||
IdemeNaHavaj Profil |
A myslíte že takýto javascript ide tiež odkódovať?
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=31561;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<545;i++){var y=x(i);z[y]=r[i]||y}t=/\b\w\w?\b/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('\b'+(j<63?c.charAt(j):c.charAt((j-63)/63)+c.charAt((j-63)%63))+'\b','g'),r[j])}}return o.replace(//g,"\n").replace(//g,"\"");})([[" ñ Ă»n§QĂ™oĂ™bĂ™0Ă™3§dMĂ™K§ca§dL§bFĂ™m§V§eD§br§b9§dxĂ™qĂ™r§ZĂ™PĂ™p§cm§b7§b2Ă™ndleVote§fZ§b1§dl§c6§c2§bR§dgĂ™x§FĂ™G§cj§§cFĂ™eĂ™E§cpĂ™_ê§ |
||
Radek9 Profil |
IdemeNaHavaj:
Jistě, že jde. Proč se o to snažíš? |
||
IdemeNaHavaj Profil |
#9 · Zasláno: 27. 11. 2013, 15:24:02
Radek9:
To vážne aj hentie bláboly sa dajú? :O no nesnažím sa to urobiť tak aby sa nedalo ale aby sa to dalo čo najťažšie ako to je možné |
||
shaggy Profil |
#10 · Zasláno: 27. 11. 2013, 15:26:14
IdemeNaHavaj:
Ak tvoj kód bude vyzerať tak, ako ten ktorý si dal vyššie, tak je naozaj dosť možné, že ti tvoj javascript nikto neukradne... lebo ešte predtým mu ho zablokuje antivírus ako podozrivý/škodlivý kód a k tvojmu výtvoru sa nikdy nedostane :-) A o to ti ide, nie? Píšeš ten javascript iba pre seba, nechceš, aby ho videl niekto iný (len potom nechápem, prečo ho dávaš na web, keď ho stačí mať doma v počítači). |
||
aDAm Profil |
#11 · Zasláno: 27. 11. 2013, 15:37:37
IdemeNaHavaj:
píšeš megakrutopřísný JS jaký ještě nikdo nikde nevymyslel? |
||
pcmanik Profil |
#12 · Zasláno: 27. 11. 2013, 15:43:07
IdemeNaHavaj:
Zatiaľ tu nikdo nespomenul, že okrem toho, že o čo sa snažíš je totálna blbosť, ale taktiež zbytočne zaťažujes užívateľov počítač, ktorý musí ten tvoj kód "rozkódovat" a spustiť. |
||
IdemeNaHavaj Profil |
#13 · Zasláno: 27. 11. 2013, 15:45:17
aDAm:
Ano niečo také.. lenže to už vymyslené bolo, ale majiteľ toho výmyslu sa nato vysral a prestal to aktualizovávať. |
||
Radek9 Profil |
#14 · Zasláno: 27. 11. 2013, 16:11:02
IdemeNaHavaj:
Schválně řekni, o co se jedná. Pochybuji, že na internetu nic takového není. A i kdyby nebylo, pokud ti to někdo bude chtít ukrást, tohle ho nezastaví. Pokud to ukrást nebude chtít, akorát ho to bude obtěžovat. |
||
shaggy Profil |
#15 · Zasláno: 27. 11. 2013, 16:14:00
IdemeNaHavaj:
„ale majiteľ toho výmyslu“ Aha, takže ty to chceš "zakódovať" preto, aby nikto nevidel, že si ukradol cudzí skript. Tak to celkom dáva zmysel, aj ja by som sa hanbil, keby som niečo ukradol :-) Ale ako ti písali ostatní, je to zbytočné - zaťažuješ tým návštevníkov počítač, človek, ktorý to bude chcieť okopírovať, to okopíruje a neverím, že si natoľko dobrý, aby si napísal niečo tak prevratné, že by to chceli všetci kopírovať. |
||
IdemeNaHavaj Profil |
#16 · Zasláno: 27. 11. 2013, 16:56:28
shaggy:
nie kopírovať.. Radek9: je to tento api bot https://github.com/chrisinajar/plugapi , ako vidíte, posledná aktualizácia bola pred skoro rokom. za ten čas sa stránka pre ktorú to je určené zmenila, zmenilo sa aj api nastavenie. Teda tento skript takmer úplne stratil funkčnosť a prestal byť aktualizovávaný. Ja som si odtiaľ vytiahol jeden .js súbor a prerobil som ho tak, aby bol aktualizovaný a fungoval na nové verzie tej stránky pre ktorú je to určené. shaggy: Takže, ja som nič neokopíroval, iba aktualizoval. A prečo to chcem "zakódovať"? Lebo okrem toho že som to aktualizoval som tam aj popridával kopu vlastnýh funkcií a možností a vylepšení, pridal som nové api funckei tej stránky a proste vela toho. Teraz je tento súbor viac ako 50% môj. |
||
maks Profil |
#17 · Zasláno: 27. 11. 2013, 17:08:21
IdemeNaHavaj:
... hezká báchorka. Každopádně neřeší fakt, že co nahraješ na web, je veřejně přístupné a nejde uchránit. A ani tak nevěřím, že bys vytvořil něco unikátního a v kvalitě, která by tvé pouze po ochraně odpovídala. Kolik si myslíš, že bude lidí, kteří budou vědět, že používáš kód k té konkrétní službě? A kolik z nich teď čeká, až to dáš na web, aby to mohl okopírovat? Obě hodnoty, pokud budou nenulové, se nule limitně blížit budou. |
||
IdemeNaHavaj Profil |
#18 · Zasláno: 27. 11. 2013, 17:20:26
maks:
„že co nahraješ na web, je veřejně přístupné a nejde uchránit.“ to som sa už dozvedel „ani tak nevěřím, že bys vytvořil“ ja som nevytvoril, iba aktualizoval na nové nastavenia stránky Ludia to vedia že je to starý tamten skript. Ja som ho len OPRAVIL pochopte to lebo mi to robí nervy ako ma odsudzujete za zlodejinu.. |
||
aDAm Profil |
#19 · Zasláno: 27. 11. 2013, 17:20:35
IdemeNaHavaj:
a dodržel si licenční podmínky tvůrce? Nebo si to jen "ukradl" upravil a vydáváš za své dílo? |
||
_es Profil |
#20 · Zasláno: 27. 11. 2013, 17:27:10
IdemeNaHavaj:
„Ludia to vedia že je to starý tamten skript. Ja som ho len OPRAVIL“ A ako by si ho „opravil“, keby bol zverejnený v štýle ako v [#7]? |
||
IdemeNaHavaj Profil |
#21 · Zasláno: 27. 11. 2013, 17:30:07
aDAm:
Nikde nepíšem že je to moje, všade píšem len o tom že som ten skript aktualizoval a že ho môžu ludia a aj ja čo chodíme na tú stránku používať. _es: keby bol taký, tak by som sa na to vyprdol:) |
||
juriad Profil |
#22 · Zasláno: 27. 11. 2013, 17:36:21
aDAm:
Původní kód na githubu má v package.json uvedenou licenci: "license": "freeBSD", . IdemeNaHavaj si s tím kódem může dělat co chce.
IdemeNaHavaj: 4 lidi něco před rokem vyvinuli. Proč své změny raději nenabídneš zpět než řešit obfuskuraci JS. Původní autory to potěší a projekt se díky tomu může opět rozjet. Minimálně budeš mít dalši pár očí, který tvůj kód projde a opraví chyby. |
||
Chamurappi Profil |
#23 · Zasláno: 27. 11. 2013, 17:43:46
Kdybych řešil stejnou otázku třeba já, budete také spekulovat, zda jsem vyrobil něco krutopřísně tajného? Já ji už řešil, našel jsem si sérii postupů, která můj skript zašmodrchá takovým způsobem, že je opravdu hodně obtížné jej efektivně rozluštit a tedy i použít jiným způsobem, než jaký já zamýšlím. Nemyslím si, že dělám něco špatného. Ani si nepřipadám naivní. Myslím, že na to koukáte moc černobíle.
|
||
IdemeNaHavaj Profil |
#24 · Zasláno: 27. 11. 2013, 18:51:36
Chamurappi:
A podelíš sa o to? :) „postupů, která můj skript zašmodrchá“ |
||
1Pupik1989 Profil |
Taky jsem měl v javascriptu napsaný deflate komprimátor. Nicméně funkčnost to neomezí ať je zakódovaný jak chce. Tak jsem to pustil i na github. Licensi jsem ale nedopsal, protože není třeba. Znovu jsem objevil kolo, akorát kulatější.
A mezi námi. Když je kód bůhvíjakextrasuperkomprimovaněkódovaný, tak tím spíš mě zaujme. Na jeden monitor si dám ten kód a na druhém ho přepisuji do (pro sebe) čitelné formy. Pak si řeknu že uživatel je magor a se smíchem to smažu. |
||
Joker Profil |
#26 · Zasláno: 27. 11. 2013, 23:59:02
juriad:
„Původní kód na githubu má v package.json uvedenou licenci: "license": "freeBSD", . IdemeNaHavaj si s tím kódem může dělat co chce.“
Takže tak. Původní autor zvolil licenci, která to dovoluje, takže IdemeNaHavaj na to má právo. Můžete převzetí a „uzavření“ cizí open-source aplikace považovat za nemorální, s čímž bych i souhlasil, ale to je věc názoru. Ale samozřejmě pořád máte volbu s tím IdemeNaHavajovi nepomáhat, pokud jste názoru, že to není správné. Chamurappi: „Kdybych řešil stejnou otázku třeba já, budete také spekulovat, zda jsem vyrobil něco krutopřísně tajného?“ Přece jen tam vidím rozdíl. U Tebe je pravděpodobné, že jsi zvážil pro a proti a máš pro to pádné důvody. U začátečníka je pravděpodobné, že řeší nějakou kravinu, která mu ve skutečnosti nakonec uškodí :-) Jinak ale souhlasím, že obfuskaci kódu bych neházel do stejného pytle jako „Jak zabránit, aby si někdo stáhl obrázek z mé stránky“. I kód bude sice vždycky možné analyzovat a dekódovat, ale lze dosáhnout toho, že to dekódování by vyžadovalo tolik času a znalostí, že vyjde lépe si analogický kód napsat sám. |
||
peta Profil |
IdemeNaHavaj: To, co delas je ztrata casu. Navic na sebe upozornujes policii (urcite tohle forum take sleduje), protoze podobne techniky pouzivaji utocnici na stranky, ze zakoduji telo viru. Konkretne jsem tu daval par takovych kodu, ktere jsem dekodoval u nas na serveru. Jeden z nich mel kolem 4000 znaku, coz v 1k php snadno odhalis. Delal to, ze nekolikrat pouzil retezec, substring+seznam cisel z pozici v retezci, eval. Vysledkem byla pak html kod iframu s url, kterou pak dal admin do banu a zachytaval vsechny programy, ktere na tu adresu neco posilali.
V jinem kodu dokonce funkci nazev funkce eval tez substringovali. Dekodoval jsem to obvykle tak, ze jsem eval nahradil za document.write, trvalo mi to asi 1-2 min., ten 4k kod. Takze, dekodovat je to brnkacka, tudiz zbytecna prace ztratet cas s technikou na zakodovani. Co jsem zkousel ja je gzipova bwt transformace a komprese, pripadne nejaky koder base64. http://peter-mlich.wz.cz/web/js/pr2/index.htm * js-crypt.htm - najdi nejcastejsi slova a nahrad je 1-2 znaky * js-cryptbwt.htm - bwt transformace zalozena na stabilnim serazovacim algoritmu (klasicke js.sort() je nestabilni) * js-magkoule.htm - takova finta, kterou lze ohromit lidi s mensi vnimavosti, ale mozna by se to dalo aplikovat jako jeden z maskovacich zpusobu Kdybys funkci na bwt vyskladal pomoci substringu z nejakeho retezce a pak s ni dekodoval jiny retezec nebo ten samy, a samozrejme tu funkci nepojmenoval jako bwt, tak, kdyby to chtel nekdo zkoumat, co to dela a nepouzil by eval, tak by musel pracne krok za krokem jit tou funkci. A pokud by princit bwt neznal, tak mozna nepochopi, jak to funguje, pouze zhodnoti, ze to nejak prevede hatmatilku na kod. |
||
shaggy Profil |
#28 · Zasláno: 28. 11. 2013, 20:59:32
peta:
„Navic na sebe upozornujes policii (urcite tohle forum take sleduje), protoze podobne techniky pouzivaji utocnici na stranky, ze zakoduji telo viru.“ Neviem, aké drogy berieš, ale mal by si s tým prestať. Vyzerajú byť dosť silné, môžu ti vážne poškodiť mozog! Zažil som od teba plno nezmyslov, ale tá časť o polícii tromfla všetko, čo si doteraz napísal. |
||
Amunak Profil |
Každý obfuskovaný kód jde (hůře nebo lépe) deobfuskovat. Zvlášť když je to dělané pomocí nějakého automatického kompilátoru - ten to bude obfuskovat pomocí nějakých pravidel, a když někdo bude chtít, napíše si reverzní pravida pro ten konkrétní obfuskátor a má to za chvilku dekódované.
Anebo to může dělat ručně, nebo napůl ručně jako jsem to třeba kdysi dělal já, pokud kód není moc dlouhý. A věř mi, že to není nic těžkého. Pro mě při dekódování zdrojáku toho AbyssGuardu bylo největší zklamání když jsem zjistil, že ten kód byl otřesný a nepoužitelný. Ale byla to zábava a dobrá výzva. Jako jestli něco, tak takové obfuskování spíš šťouraly přiláká. Navíc mám takový pocit, že zrovna s deobfuskováním JS by dost dokázaly pomoct přímo prohlížeče. A pokud vím, běžná BSD licence nedovoluje vydávat dílo za své. |
||
IdemeNaHavaj Profil |
#30 · Zasláno: 29. 11. 2013, 11:27:18
peta:
Keď na ma pôjde polícia tak nech, aspoň zistia že ja nič zlé nerobím. Nemám sa čoho báť. Ja som to kódoval (ten druhý príklad) cez http://jsutility.pjoneil.net/ a tam "Compress" a celkom dlho to tam niečo robilo (veď skús sám tam dať nejaký dlhý JS) tak to vyzeralo zaujímavo. shaggy: :D Amunak: ano to už viem že ide, len na oko je to aspoň bordel. |
||
Téma pokračuje na další straně.
|
0