Ma imaš tih dekompajlera koliko hoćeš, ali nijedan neće vratiti kompletan kod. Ono što oni mogu da vrate jeste deo koda u mašincu, forme, kao i resurse koji su embedovani u exe (recimo slike, zvuk, itd.). Naravno, i to je ponekad dovoljno da se dođe do bitnih podataka za nekakvo krekovanje aplikacije, izvlačenje passworda, itd. U svakom slučaju, deo toga može da odradi i Resource Hacker-u koji ti takođe dozvoljava da ekstraktuješ slike iz exe fajla, promeniš captione na dugmićima, itd. Elem, zaštita od toga jeste koristiti exe packere koji onemogućavaju da se exe tek tako otvori i menja, već ga treba prvo otpakovati, što nije uvek tako jednostavno i ne može svaki klinac da odradi. No, da je to bullet-proof zaštita i nije, jer sve što se zapakuje tim packerima, može i da se otpakuje, a za određene packere već postoje unpackeri koji se mogu skinuti na netu. Jedino je dobro što obično ti unpackeri ne dolaze u vidu lepo organizovane GUI aplikacije, već najčešće u obliku nekakvih skripti, recimo za Olly Debuger, kao i to što te skripte nisu uvek savršene i često mogu da učine exe fajl neupotrebljivim, pa ni decompiler alati ne mogu da ga otvore kako treba, te je potrebno malo više od elementarnog znanja da bi naj taj način nešto uradio. Naravno, ni to nije prepreka za ozbiljnog hakera, jer on uvek može da taj delimično raspakovani fajl otvori u nekom hex editoru i pronađe neki password koji se nalazi u kodu.
Upravo zato se password nikada ne stavlja u kod bez enkripcije, nego lepo enkriptuj password u MD5 recimo i miran si. Mada, opet, ako je u pitanju Access baza, zaštita passwordom ti ništa neće pomoći, jer "haker" i ne mora da ulazi u tvoj kod da bi isti pronašao. Dovoljno je da skine sa neta Access Password Recovery i da skine šifru sa baze pa da joj pristupa direktno, bez potrebe da uopšte pokreće exe fajl.
Tako da, ovde se postavlja pitanje, šta ti uopšte pokušavaš da zaštitiš, tj. da li samu aplikaciju od kopiranja, strukturu baze, podatke u bazi i zašto ? Znači prvo to moraš da raščistiš sam sa sobom i da malo bolje objasniš, a onda možemo da razmotrimo i mere zaštite za to. Naravno, trebaš da budeš svestan da nijedna zaštita nije neprobojna i šta god da napraviš, ako se neko baš namerači da razbije tvoj program i da ga krekuje, on će to i uraditi. Ono što možeš da uradiš, jeste da koliko toliko otežaš taj proces, tako da oni sa manje znanja i oni koji su manje uporni, odustanu od tog posla. Oni uporniji će svakako naći načina. Mislim, MS ulaže verovatno milione u zaštitu svojih proizvoda, pa eno, postoji crack za svaki njihov proizvod koji je izašao na tržište.
Čisto da ne bude da nisam rekao ništa konkretno, evo nekih smernica kako da zaštitiš aplikaciju. Dakle, ako hoćeš da zaštitiš exe od lakog otvaranja, menjanja, izvlačenja passworda, koristi exe packere. Imaš besplatnih, a imaš i onih poprilično skupih koje je poprilično teško (ne i nemoguće) razbiti i za koje ne postoje unpackeri na svakom ćošku. Ako hoćeš da budeš siguran da niko ne može da izvuče nekakav password iz exe fajla, enkriptuj ga nekom enkripcijom za koju još uvek ne postoji dekriptor (recimo MD5), mada imaj u vidu ono što sam rekao, ako je u pitanju zaštita passworda na Access bazi, džabe se mučiš, jer isti može da se skine direktno sa baze. Ako hoćeš da zaštitiš strukturu baze, tj. da niko ne može da vidi kako ona izgleda, opet se džabe mučiš sa Access-om. U tom slučaju je bolje napraviti svoj format baze i zakomplikovati ga do zla boga, s tim što bi to zahtevalo puno rada, nemogućnost korišćenja SQL upita (već bi morao da kreiraš sopstvene upite), verovatno sporiji rad sa bazom, itd., a sve to da bi sprečio nekoga da vidi strukturu baze, sa čim u principu ništa ne može da uradi. Ako je cilj da se zaštite podaci u bazi, onda to ne bi trebalo da bude tvoj posao, već posao klijenta kome si prodao aplikaciju. Hebi ga, Access je ipak lokalna baza i nije problem fizički zabraniti pristup istoj. Ako neko dozvoli pristup, onda je dozvolio i pristup podacima, a ti sa tim nemaš ništa. Eventualno može da se odradi enkripcija podataka. E sad, ako želiš da zaštitiš aplikaciju od neovlašćenog kopiranja, imaš mali milion metoda, kao što su recimo vezivanje za serijski broj hardvera, usb dongle-ovi, aktivacioni kodovi na osnovu username-a, a imaš i aplikacije koje takve stvari rade za tebe i prilično ih je teško razbiti, recimo
Armadillo, od koje i ozbiljniji hakeri brzo odustaju, osim ako nemaju baš veliku motivaciju ili finansijski interes da to razbiju.
Sve u svemu, razmisli da li cilj opravdava sredstva. Uz dovoljno novca, možeš napraviti zaštitu koju samo najiskusniji hakeri uz mnogo muke mogu da razbiju, te ako tvoj proizvod nije zastupljen na 90% računara u svetu kao Windows, verovatno niko neće ni pokušavati da je razbije. Ako ne želiš da daješ novac za zaštitu, možeš koristiti besplatne alate i svoje mere zaštite, što će te verovatno zaštititi od radoznalih klinaca i wannabe hakera kojima nedostaje znanja i iskustva. Ali, takođe razmisli o tome da li ti je zaštita uopšte potrebna. Danas je i besplatnu aplikaciju teško progurati na tržište i steći veći broj korisnika, a kamoli neku komercijalnu. Da li je tvoja aplikacija zaista toliko dobra i korisna da uopšte moraš da je ne znam ni ja kako štitiš, a koristiće je možda 10-tak ljudi.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti