Crackme 1 (ASM) - začátečník
Tento crackme je nejjednodušší možná varianta, slouží jen k pochopení používání nástrojů,
které budeme potřebovat.
UPOZORNĚNÍ: TENTO DOKUMENT SLOUŽÍ POUZE KE STUDIJNÍM ÚČELŮM. AUTOR NENESE ŽÁDNOU ZODPOVĚDNOST ZA JEHO ZNEUŽITÍ
UPOZORNĚNÍ: TENTO DOKUMENT SLOUŽÍ POUZE KE STUDIJNÍM ÚČELŮM. AUTOR NENESE ŽÁDNOU ZODPOVĚDNOST ZA JEHO ZNEUŽITÍ
Soubor crack_me_1.zip
Nejprve na přiloženém CD najděte soubor crack_me_1.exe a spusťte jej. Zobrazí se jen hláška
„Sorry“. Naším úkolem bude, nechat zobrazit hlášku „Good job, cracked!“, která se zobrazí
po splnění podmínky, která je ovšem udělaná tak, že k jejímu splnění nikdy nedojde – na nás
tedy je, abychom ji upravili.
Z CD si stáhněte debugger OllyDbg, ve kterém budeme řešit všechny následující crackme.
Spusťte tedy OllyDbg, v menu zvolte File -> Open a otevřte soubor crack_me_1.exe. Zobrazí
se disassemblovaný kód programu. Obsahuje právě jen jednu podmínku a vyhodnocení.
Důležitý kód si zanalyzujeme:
| 0040100A cmp eax, ecx | ;porovnání eax a ecx |
| 0040100C jnz 00401023 | ;pokud se nerovnají, skočí |
| 0040100E push 0 | ;zobrazení zprávy o úspěšném cracknutí aplikace |
| 00401010 push 00403000 | ;"CrackMe level 1. by Lodus" |
| 00401015 push 0040301A | ;"Good job, cracked!" |
| 0040101A push 0 | |
| 0040101C call MessageBoxA | |
| 00401021 jmp 00401036 | ;skok na konec programu |
| 00401023 push 0 | ;zobrazení zprávy „sorry“ |
| 00401025 push 00403000 | ;"CrackMe level 1. by Lodus" |
| 0040102A push 0040302D | ;"Sorry |
| 0040102F push 0 | |
| 00401031 call MessageBoxA |