Crackme 4 (C) - začátečník
UPOZORNĚNÍ: TENTO DOKUMENT SLOUŽÍ POUZE KE STUDIJNÍM ÚČELŮM. AUTOR NENESE ŽÁDNOU ZODPOVĚDNOST ZA JEHO ZNEUŽITÍ
Soubor cruehead_Crackme3.zip
Jedná se o poslední crackme od Crueheada, od předcházejících se celkem liší. Spustíme tedy crackme. Již zde není dialog pro zadávání sériového čísla, jediné, co musíme udělat je zbavit se „uncracked“ v titulku programu.
Načteme jako obvykle crackme do debuggeru a hned by jsme si měli všimnout jedné
zajímavé věci a to volání funkce CreateFile a ReadFile ze souboru crackme3.key. Crackme
tedy bude používat k aktivaci klíčový soubor. Naším úkolem bude zjistit, jaký obsah musí
tento soubor mít, aby titulek „uncracked“ zmizel. Začneme s analýzou kódu.
První, nad čím bychom se měli pozastavit je, že z klíčového souboru se načítá 18 (tj. 12h)
bytů pomocí funkce ReadFile (volání na adrese 00401061) do zásobníku na adrese 00402008.
| 00401061 CALL ReadFile | ;volání funkce pro načtení souboru |
| 00401066 CMP DWORD PTR [4021A0],12 | ;bylo načteno 12 bytů? |
| 0040106D JNZ SHORT 00401037 | ;pokud ne, skončili jsme |
| 0040106F PUSH 00402008 | ;ukazatel na zásobník načt. dat |
| 00401074 CALL 00401311 | ;volání první funkce |