OllyDbg reverse engineering

View previous topic View next topic Go down

OllyDbg reverse engineering

Post by Gost on Wed Jul 24, 2013 3:30 pm

Najprije da se ispričam svima što me nema, nažalost kolko sam informiran tako će se i nastaviti jer sam jednostavno pre zaposlen, da ne duljim idemo na temu.

Prvo što bih htjeo napomenuti je da će vam se ovo možda činiti užasno komplicirano ali više je gubljenje vremena nego komplikacija. Nemojte se nadati da će sve iči glatko i pročitajte tutorijal 100 puta ako treba sve dok ne shvatite kako i što treba napraviti.

Staviti ću puno slika, ali samo zato da bolje shvatite o čemu se radi.

Krenimo na posao:

Dakle otvorite OlyDbg load-ajte program koji hoćete crack-at i pritisnite F9 (run).
Nakon što pokrenete program preskočite sve djelove koji vas traže licencu, kao da radite u demo verziji.



Ok sad pritisnite F12 da bi zaustavili program i u CPU window-u pritisnite desni klik, search for i odaberite all referenced strings

U novom prozoru možete naći sve tekstove iz programa, sve ono što u programu piše tamo možete naći kao npr your key is invalid i thank you for registration.

Vi morate znati što vaš program govori tijekom krivog key-a ili tokom registracije.
Neke od čestih riječi su: license, trial, register, registration, dakle sad u tom novom prozoru pritisnite CTRL+F (search) i upišite što vama piše dok pokušavate registrirat svoj program, ja ću odabrati license, i postavite kvačicu na Ignore case, pritisnite enter.



ok sad vas program dovodi do prvog traženog teksta, u mojem slučaju "Invalid license"



Svaki puta kada nađete traženu riječ stavite break point s F2
i ponavljajte CTRL+F dok ne dođete do kraja odnosno dok više ništa ne nalazite.



Usput ćete naletjeti na druge bitne tekstove kao npr tryal period is over, days left itd, i na njih stavite brake point.

Ok sad ponovno pokrenite program s F9 i probajte ga licencirati.



Kada pritisnemo enter ako smo stavili brake point na sva bitna mjesta program bi se trebao zaustaviti na jednom od njih.



Kao što vidimo program je stao na Invalide license type, sada moramo otkriti što zove taj error i spriječiti ga.
Dakle scroll up dok ne dođemo na vrh petlje i od vrha do dna postavimo brake point.



Sada ako ste tokom traženja teksta naletili negdje na uspješnu registraciju vrijeme je da nađete i tu petlju, vratite se u all referenced strings i tražite neki tekst o uspješnoj registraciji. Kod mene npr pišu vrste licenci, a odabrat ću complimentary license.



kada odaberete tekst pritisnite enter na tome tekstu što će vas dovesti na dio programa koji je zadužen za uspješnu registraciju.



Sada ponovno scroll up na vrh petje, stavite brake point i pogledajte koji dio koda poziva tu petlju.



Sada vidimo da poziv dolazi iz djela na kojem smo već postavili brake point ali ga preskače tako da moramo sada vidjeti kako nagovoriti program da ne preskoči taj dio.



Ok sada držite F9 dok se program ne pokrene, i opet pokrenite postupak licenciranja.

sada vidimo da je program stao na vrhu djela koda zaduženog za licenciranje.



Naš posao je sada pratiti program i vidjeti na kojem djelu shvaća da licenca nevalja, i zeznut ga da ipak prihvati neispravnu licencu. To ćemo napraviti trako što ćemo na svaku jump naredbu staviti brake point, možemo i brake point   staviti na adresu gdje trebamo dovesti program.
Dakle mičemo sve brake point-ove opet s F2 iz cijele petlje, ali ostavljamo samo one bitne koje se nalaze na jump naredbama.
Jump naredbe su: jmp, je, jne, jg, jz.... nemogu se više ni jedne sjetiti al ima ih još.
Kada smo stavili brake point samo na jump naredbe pritisnemo F9 samo jednom, i gledamo destination point dali nam odgovara.



Kao što se vidi s slike meni prvi jump odgovara tako da idem dalje na sljedeći.



Sad ovaj jump radi probleme i preskače onaj dio koda zadužen za uspješno licenciranje, tako da ga treba zeznuti da ne preskače taj dio.
to ćemo jednostavno napraviti tako što ćemo dva puta kliknuti na naredbu  JE i preuretiti je u NOP



Naredba JE znači jump if equal tako da je možemo zamijeniti i s JNE što znači Jump if not equal.
NOP znači prazno mjesto, odnosno ništa tako da će taj dio koda biti zanemaren.
Ja ovdje moram zabraniti skok tako da sam skok zabranio s NOP naredbom, ako vi morate skočiti na naredbu odnosno ako vam se wrong key nalazi prije thank you for registration nećete moći staviti NOP naredbu jer će tada program svaki puta skakati na wrong key. U tome slučaju vi morate koristiti Jump naredbu na kojoj će program skočiti na željeno mjesto bez obzira dali je key ispravan ili ne.

Sada otvorite notepad i prepišite adresu i novu naredbu.
Ja u svoj notepad zapisujem 0072c878  90. To će nam trebati kako bi napravili crack.
Sada nastavljamo dalje jer još nismo gotovi, gotovi ste tek kada vam program uspješno dođe na dio koda koji govori da je registracija uspjela.

Ok sad se vračam na onaj dio koda gdje se nalaze vrste licenci i postavljam brake point na svaku jump naredbu.



Sada treba izbjeći sve skokove koji vode na error message, baš da nebude 200 slika taj dio ću malo preskočiti ali jednostavno je kada vidite ispod error code na prvoj naredbi iznad errora napravite jump

Na kraju samo umjesto case switch stavim skok na željenu licencu.



Sada za zadnji puta pogledamo zabranjene opcije What a Face 



Ok sada ponovno probajmo licencirati program:



Pritiskom na ok nam se pokazuje complimentary license u naslovu, također vidimo da opcije više nisu limitirane Twisted Evil 



Sada vam treba HIEW kojeg možete naći na dl.torrentcrazy.com/8af58277203d0c7d171c8651de4d2bd0c9a051ad/hiew.8.10.torrent.

Potrebno je napraviti crack folder u main direktoriju i kopirati program.exe u crack folder
Sada napravite drag and drop svojeg programa iz svojeg crack foldera na Hiew.exe



Sada imate neke hijeroglife u programu, stisnite F4 i odaberite Decode





S page down tipkom dođete do adrese koju ste zapisali u notepad i s F3 preuredite naredbu i prtisnite F9 kako bi spremili promjene. Tako ponovite za sve adrese.



Kada ste sve završili pritisnite F10 kako bi izašli.

Probajmo sada pokrenuti program:



Zamjenimo sada program s crackom...



Sada nas niti ne traži licencu jer je precracked Cool

Nadam se da vam ovo nije pre komplicirano i da ćete ovo pohvatati što prije i lakše, također napominjem da ovo nije jedini način, ali kao što ste vidjeli nije niti najjednostavniji kao što je crack-me.exe. Zbog mogučih komplikacija proučite druge tutoriale po netu da bi što bolje shvatili kako i što. Naj bitnije od svega je da se naouružate strpljenjem i živcima i da zapisujete svaki korak koji ste napravili ukoliko dođe do nekog problema da se znate vratiti.

To je to od mene za sada.... kada bude vremena nastavljamo dalje s tutorialima Wink

Gost
Guest


Back to top Go down

Re: OllyDbg reverse engineering

Post by meos on Sun Apr 27, 2014 8:46 am

bravo Very Happy

meos
Alpha
Alpha

Broj postova : 21
Join date : 2013-06-21

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum