You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
004010E9 |. 3C 00004010EB |. /74 59CMP AL,0JE SHORT timetria.00401146A ovde se sigurno proverava da li je broj preostalih st<strong>art</strong>ovanja programanula ili ne. Stoga cemo ovu proveru promeniti u ovo:004010DC |. 2805 00304000004010E2 |> B0 90004010E4 |. 90004010E5 |. 90004010E6 |. 90004010E7 |. 34 69004010E9 |. 3C 00004010EB |. 74 59SUB BYTE PTR DS:[403000],ALMOV AL,90NOPNOPNOPXOR AL,69CMP AL,0JE SHORT timetria.00401146Posto se AL xoruje sa 69, jedina vrednost koja ce posle xorovanja dati nuluje ako se u AL nalazi bas 69. Dakle 69 xor 69 jednako 0. Ovo cemo resitijednostavno tako sto cemo umesto MOV AL, BYTE PTR DS:[4030B5] ubacitiMOV AL,90. Broj 90 je proizvoljan i mozete uzete bilo koji broj koji je veci od69. Naravno da smo mogli i ovde da obrisemo XOR ali nema potrebe, ovakoje lakse. Ako pogledamo dole sta ce se izvrsiti ako se svi ovi skokovi neizvrse, a nece posto smo ih modifikovali tako da nikada nece:004010ED |. FEC8DEC AL004010EF |. A2 01304000MOV BYTE PTR DS:[403001],AL004010F4 |. 34 69XOR AL,69004010F6 |. A2 B5304000 MOV BYTE PTR DS:[4030B5],AL004010FB |. 6A 00 PUSH 0 ; /Origin = FILE_BEGIN004010FD |. 6A 00 PUSH 0 ; |pOffsetHi = NULL004010FF |. 6A 00 PUSH 0 ; |OffsetLo = 000401101 |. FF35 14314000 PUSH DWORD PTR DS:[403114]; |hFile = NULL00401107 |. E8 18010000 CALL ; \SetFilePointer0040110C |. 6A 00 PUSH 0 ; /pOverlapped = NULL0040110E |. 68 E0304000 PUSH timetria.004030E000401113 |. 6A 0B PUSH 0B ; |nBytesToWrite = B00401115 |. 68 AB304000 PUSH timetria.004030AB ; |Buffer = 004030AB0040111A |. FF35 14314000 PUSH DWORD PTR DS:[403114]; |hFile = NULL00401120 |. E8 05010000 CALL ; \WriteFileVidecemo da se u fajl DATA.DET snimaju novi podaci o vremenu i brojupokusaja. Odnosno samo o broju st<strong>art</strong>ovanja programa jer se poslednjevreme st<strong>art</strong>ovanja programa cita iz DATA.DET file-timea. Kada snimimo sveove promene mozemo da st<strong>art</strong>ujemo crackme i videcemo sledece:Mozemo rest<strong>art</strong>ovati ovaj crackme koliko puta zelimo, mozemo menjatidatum a rezultat ce uvek biti isti: “Crackme zarobljen u vremenu :)”.Uspesno smo modifikovali program, a ako ste negde pogresili mozeteiskoristiti backup fajl DATA.DET.bak da bi ste vezbali na ovom primeru.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 96 <strong>of</strong> 165