Citat:
qwertzuiopasdfghjkl: Ajde molim te nakucaj nekakav programcic sa takvom zastitom pa bas da vidim kako to izgleda... nemoj davat kod, vec samo .exe!
MPGScript. Na Google-u ces naci i krekove, ali koliko znam ni jedan ne radi, vec samo uklanjaju neke poruke u neregistrovanoj verziji.
Citat:
marcha: broker, jesi mislo na ovako nesto:
Da. To je jednostavna varijanta ali tako nesto. Samo treba da izbegavas da korsitis logicki izraz jer se on opet svodi na IF. Naime, kada pravis zastitu moras da razumes kako se kod prevodi u masinksi jezik, da bi znao sta da izbegavas da radis jer se prilikom kompajliranja opet svede na karakeristican kod.
E sad, to je uglavnom tesko izvesti sa zastitom koja se svodi na unos registracionog koda. ja za takve zastite korsitim kljuc koji je datoteka. Kada se stavi kljuc u direktorijum gde je i exe, on ga procita, dekodira, i upotrebi ono sto mu je potrebno. Tako imas vise prostora da smestas zamke jer u datoteku kljuca mozes da stavis dosta sitnih podataka bez kojih program ne moze da radi ispravno.
Recimo, u tvom slucaju, ne proveravas da li je serijski broj diska tacan, nego sam serijski broj diska koristis za na primer dekodiranje nekog vitalnog podatka koji se koristi u izrazu. Ako je kod diska tacan dobices ispravan podatak. Ako nije tacan, neces imati ispravan podatak, a nigdeu kodu ne posotji IF koje o tome odlucuje.
Ispred mozes, kao sto si i uradio da stavis IF cisto da sprecis da se kod izvrsi ako registracija nije ispravna, da ne bi pucala demo verzija. Kraker moze da skloni to IF, ali ce vrlo tesko da provali sta se desava u izrazu, jer nigde ne figurira konkretna ispravna vrednost koja je neophodna za ispravan rad programa.
Ovo, naravno, nije idealna zastita, ali svakako mnogostruko komplikuje krekovanje, narocito ako imas mnogo maste oko postavljanja zamki, to jest, ne oslanjas se samo na jedan podatak nego na vise njih, koristis vise razlicitih nacina kodiranja podataka, kodiras vec kodirane podatke, isti podatak kodiras i cuvas u kljucu na vise mesta tako da negde koristis podatak procitan sa jednog mesta, a na drugom podatak sa drugog mesta u kljucu, uvedes proveru checksum-a tako da kraker ne moze tek tako da menja kljuc i eksperimentise, jer mora da provali ikako da namesti ceksum (a jos ako je i sam ceksum kodiran zajedno sa podacima... pa i to kodirano ima ceksum... ima da place od muke samo tako).
Osnovno pravilo je da ne pravis karakteristican i preoznatljiv kod. Ja sam umeo da napravim po 30-40 razlicitih nacina da iskoristim podatke iz kljuca u izrazim u programu, tako da prostom statistikom iskucujem mogucnost krekovanja programa: prosto vreme koje je krakeru potrebno da nadje i ukloni sve zamke daleko prevazilazi vrednost programa.
I nikada nemoj da potcenis kvalitet Delphi kompajlera. Ume on vrlo lepo da razmrsi kakav god spaget da napises i svede ga na vrlo jednostavan masinski kod. Mozes i sam probati: napravi program koji ispisuje kopirajt poruku, ali da se u kompajliranom exe ta poruka ne moze pronaci. Uvedi samo jedno ogranicenje: da ne smes da u sors upises unapred kodiran string.
[Ovu poruku je menjao broker dana 02.08.2006. u 12:19 GMT+1]