07.02.2015 Views

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Coding Tricks<br />

Shvatite ovaj deo poglavlja kao deo za programere koji zele da pisu<br />

sigurnije aplikacije, koje ce nama, reverserima, zadati dosta glavobolje<br />

kako bismo ih reversovali.<br />

Mark's famous protector's commandments<br />

• Nikada ne koristite imena fajlova ili imena procedura tako da ona sama<br />

po sebi imaju smisla za reversere, npr. IsValidSerialNum. Ako vec ne<br />

zelite da se odreknete ove dobre programerske navike onda bar<br />

iskodirajte vas program tako da on zavisi od iste funkcije, tako da se<br />

njenim neizvrsavanjem srusi.<br />

• Ne upozoravajte korisnika da je uneti serijski broj netacan odmah<br />

nakon provere. Obavestite korisnika posle dan ili dva, crackeri mrze to<br />

:)<br />

• Koristite provere checksumove u EXEu i DLLu. Napravite sistem tako<br />

da EXE i DLL proveravaju checksumove jedan drugom.<br />

• Napravite pauzu od jedne ili dve sekunde pre provere validnosti<br />

serijskog broja. Ovako cete povecati vreme koje potrebno da se<br />

pronadje validan serijski broj putem bruteforceinga (veoma lako ali se<br />

ne koristi cesto).<br />

• Popravljajte sami, automatski, svoj s<strong>of</strong>tware.<br />

• Patchujte sami svoj s<strong>of</strong>tware. Naterajte svoj program da se modifikuje<br />

i tako svaki put poziva drugu proceduru za proveru validnosti serijskog<br />

broja.<br />

• Cuvajte serijske brojeve na neocekivanim mestima, npr. u propertyju<br />

nekog polja baze podataka.<br />

• Cuvajte serijske brojeve na vise razlicitih mesta.<br />

• Ne uzdajte se u sistemsko vreme. Umesto toga proveravajte vreme<br />

kreacije fajlova SYSTEM.DAT i BOOTLOG.TXT i uporedjujte ih sa<br />

sistemskim vremenom. Zahtevajte da je vreme vece od prethodnog<br />

vremena startovanja programa.<br />

• Ne koristite stringove koji ce obavestiti korisnika o isteku probnog<br />

vremena s<strong>of</strong>twarea. Umesto ovoga kriptujte stringove ili ih pravite<br />

dinamicki.<br />

• Zavarajte crackerima trag pozivajuci veliki broj CALLova, koriscenjem<br />

laznih mamaca, enkriptovanih stringova...<br />

• Koristite enkripcije i sisteme koji nisu bazirani na suvom poredjenju<br />

validnog i unetog broja.<br />

• Nikada se ne oslanjajte na klasicne pakere / protektore da ce oni<br />

zastititi vasu aplikaciju.<br />

• Mi vam nikada necemo otkriti nase najbolje zastite :)<br />

<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 288 <strong>of</strong> 293

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!