You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
0044FAB3 |. 0F85 AE000000 JNZ crackme#.0044FB670044FAB9 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]0044FABC |. 8078 0F 5C CMP BYTE PTR DS:[EAX+F],5C0044FAC0 |. 0F85 A1000000 JNZ crackme#.0044FB67Sledece dve provere na adresama 0044FABC i 0044FAAF su nam jako bitne.Primetite da se odredjena slova iz imena porede sa vrednoscu 5C odnosno sakarakterom ‘\’. Ovi bajtovi se nalaze na adresama 008A3701 i 008A3707.Ovo ujedno znaci da se 9 i 15 slovo iz putanje do fajla moraju biti ‘\’ a ovoznaci da se fajl nalazi u dodatnim poddirektorijumima zbog cega cemo ovajexe prebaciti u sledeci folder C:\aaaaaa\bbbba\ccccc i primeticemo da sesada oba JNZ skoka ne izvrsavaju i da cemo nastaviti sa analizom koda odadrese 0044FAC6. Dok polako izvrsavate kod videcete u donjem desnom deluCPU prozora Ollya sledece:0012F3EC 008A20780012F3F0 008A20640012F3F4 008A20500012F3F8 008A36F8ASCII "aaaaaabbbba"ASCII "bbbba"ASCII "aaaaaa"ASCII "C:\aaaaaa\bbbba\ccccc"Ono sto vidimo je da se putanja rastavlja na poddirektorijume i da se imenaprvog i drugog poddirektorijuma slepljuju u jedan string. Docicemo dosledeceg loopa koji se koristi za izaracunavanje seriskog broja.0044FB13 |> /8B45 EC0044FB16 |. |0FB64408 FF0044FB1B |. |0FAF45 DC0044FB1F |. |0145 E00044FB22 |. |410044FB23 |. |4A0044FB24 |.^\75 ED/MOV EAX,DWORD PTR SS:[EBP-14]|MOVZX EAX,BYTE PTR DS:[EAX+ECX-1]|IMUL EAX,DWORD PTR SS:[EBP-24]|ADD DWORD PTR SS:[EBP-20],EAX|INC ECX|DEC EDX\JNZ SHORT crackme#.0044FB13Posle izvrsenja ovog loopa i par komandi ispod njega u donjem desnom deluCPU prozora cemo videti:0012F3E8 008A2090 ASCII "71757"tacan seriski broj za ovu putanju. Ispod ovoga sledi poredjenje dve vrednosti0044FB47 |. 8B45 E40044FB4A |. 8B55 E80044FB4D |. E8 2A4BFBFFMOV EAX,DWORD PTR SS:[EBP-1C]MOV EDX,DWORD PTR SS:[EBP-18]CALL crackme#.0040467Cpreostalog dela putanje “ccccc” i “71757”. Ovo znaci da kranji folder koji smomi nazvali “ccccc” treba da se zove “71757”. Zatvoricemo Olly ireimenovacemo ovaj direktorijum u “71757” posle cega cemo videti sledece:Ovo znaci da smo uspeli, uspesno smo pronasli resenje ovog crackmea.Interesantan je, zar ne? Sada nam samo preostaje da napravimokeygenerator za ovaj crackme.Keygen:Vec smo pronasli gde se to racuna seriski broj a sada smo treba darazumemo taj isti algoritam i da ga prepisemo u nekom drugomprogramskom jeziku. Za ovaj primer ja cu koristiti samo Delphi. Pre nego stopocnemo da se bavimo pravljenjem keygeneratora moracemo prvo da sepozabavimo samim algoritmom da bi smo saznali sto je vise moguce o<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 155 <strong>of</strong> 165