13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

morati sam sebe da castim pivom :) Bilo kako bilo, ova CRC zastitadefinitivno zasluzuje nagradu sa +Fravia sajta:“Da da znam, zasluzio sam nagradu posteno :)” – Ap0xSalu na stranu ono (pametno) sto ce ovaj primer da vas nauci je kako dadekriptujete onaj crc32table.txt fajl i tako razbijete CRC zastitu. Otvoriteoriginalni crc32.exe fajl u Ollyu postavite obican break-point na adresu00450ED0. Sa F9 st<strong>art</strong>ujte program i sacekajte da se Olly zaustavi na ovombreak-pointu. Sa F8 polako analizirajte kod. Na adresi 00450ED8 imamostvarno dugacak loop (cak 41h puta se ponavlja) koji ne radi nista bitno za nas.Idemo dalje... Kada stignemo do adrese 00450F28 videcemo da se u EAXsmesta cela putanja do crc32table.txt fajla. Ovo moze biti zanimljivo. Sa F8idemo dalje kroz kod. Nista bitno se ne desava sve dok ne dodjemo doadrese 00451037 kada program kopira samog sebe u bak.bak fajl. Nista bitoza ekripciju, pa nastavljamo dalje. Stigli smo do 004510C9 i sada imamoneki loop koji se izvrsava nekoliko puta. Ovaj loop mora biti jako zanimljivposto se nalazi odmah iznad poruke o pogresnom CRCu. Da vidimo sta sedesava u njemu.004510CE |> /8D45 FC004510D1 |. |E8 1A3CFBFF004510D6 |. |8B55 FC004510D9 |. |8A541A FF004510DD |. |80F2 2C004510E0 |. |885418 FF004510E4 |. |43004510E5 |. |4E004510E6 |.^\75 E6/LEA EAX,DWORD PTR SS:[EBP-4]|CALL crc32.00404CF0|MOV EDX,DWORD PTR SS:[EBP-4]|MOV DL,BYTE PTR DS:[EDX+EBX-1]|XOR DL,2C|MOV BYTE PTR DS:[EAX+EBX-1],DL|INC EBX|DEC ESI\JNZ SHORT crc32.004510CEProdjimo par puta kroz njega i videcemo da se uzima jedno po jedno slovo iznekog stringa, mozda onog koji se nalazi u samom crc32table.txt fajlu, i dase njegova ASCII vrednost xoruje sa 2Ch ili sa 44 decimalno. Kada se ovajloop zavrsi, to jest kada stignemo do adrese 004510E8 onda cemo u EAXuimati string EAX 008B213C ASCII "7CC85525" koji odgovara dekriptovanomCRCu iz fajla crc32table.txt. Ako je taj CRC jednak CRCu fajla bak.bak ondafajl nije modifikovan. Ono sto nas interesuje je kako da reversujemoenkripciju pa da dobijemo drugi enkriptovani CRC, za izmenjeni NAG freeprogram, koji bi smestili u crc32table.txt fajl. Ovo mozemo resiti na dvanacina.Prvi nacin:Predpostavimo za trenutak da neznamo kako program generiseenkriptovani string koji sadrzi CRC vrednost crc32.exe fajla. Ono sto cemo dauradimo je da otvorimo crc32table.txt fajl i da iz njega iskopiramo onajstring. Jedino potrebno podesavanje Notepada je da promenite font uTerminal. [Hint: Format -> Font -> Terminal -> Regular], ono sto nam je jospotrebno je ASCII tablica koju mozete preuzeti sa www.asciitable.com(opciono ali veoma korisno) i spremni smo da pocnemo.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 75 <strong>of</strong> 165

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

Saved successfully!

Ooh no, something went wrong!