Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Address Hex dump Command Comments
00401430 |. E8 ABBD0000 CALL 0040D1E0 ; Allocates EAX bytes on stack
00401435 |. E8 E6B90000 CALL 0040CE20 ; [crackme.0040CE20
0040143A |. C74424 04 080 MOV DWORD PTR SS:[ESP+4],OFFSET crackme. ; ASCII "Hallo bitte gib das Passwort ein"
00401442 |. C70424 E03344 MOV DWORD PTR SS:[ESP],OFFSET crackme.00
00401449 |. E8 7AAD0300 CALL 0043C1C8 ; [crackme.0043C1C8
0040144E |. C74424 04 98A MOV DWORD PTR SS:[ESP+4],crackme.0043AF9
00401456 |. 890424 MOV DWORD PTR SS:[ESP],EAX
00401459 |. E8 C28C0200 CALL 0042A120
0040145E |. C74424 04 1C3 MOV DWORD PTR SS:[ESP+4],OFFSET crackme.
00401466 |. C70424 E03344 MOV DWORD PTR SS:[ESP],OFFSET crackme.00
0040146D |. E8 56AD0300 CALL 0043C1C8 ; [crackme.0043C1C8
00401472 |. C74424 04 98A MOV DWORD PTR SS:[ESP+4],crackme.0043AF9
0040147A |. 890424 MOV DWORD PTR SS:[ESP],EAX
0040147D |. E8 9E8C0200 CALL 0042A120
00401482 |> C74424 08 0A0 /MOV DWORD PTR SS:[ESP+8],0A
0040148A |. 8D45 E8 |LEA EAX,[LOCAL.7]
0040148D |. 894424 04 |MOV DWORD PTR SS:[ESP+4],EAX
00401491 |. C70424 803444 |MOV DWORD PTR SS:[ESP],OFFSET crackme.0
00401498 |. E8 B3580200 |CALL 00426D50
0040149D |. 8D45 E8 |LEA EAX,[LOCAL.7]
004014A0 |. 890424 |MOV DWORD PTR SS:[ESP],EAX
004014A3 |. E8 E8FEFFFF |CALL 00401390
004014A8 |. A3 14304400 |MOV DWORD PTR DS:[443014],EAX
004014AD |. 833D 14304400 |CMP DWORD PTR DS:[443014],1
004014B4 |. 75 16 |JNE SHORT 004014CC
004014B6 |. C74424 04 290 |MOV DWORD PTR SS:[ESP+4],OFFSET crackme ; ASCII "crackme "
004014BE |. C70424 E03344 |MOV DWORD PTR SS:[ESP],OFFSET crackme.0
004014C5 |. E8 FEAC0300 |CALL 0043C1C8 ; [crackme.0043C1C8
004014CA |. EB 24 |JMP SHORT 004014F0
004014CC |> C74424 04 320 |MOV DWORD PTR SS:[ESP+4],OFFSET crackme ; ASCII "passwort falsch!"
004014D4 |. C70424 E03344 |MOV DWORD PTR SS:[ESP],OFFSET crackme.0
004014DB |. E8 E8AC0300 |CALL 0043C1C8 ; [crackme.0043C1C8
004014E0 |. C74424 04 98A |MOV DWORD PTR SS:[ESP+4],crackme.0043AF
004014E8 |. 890424 |MOV DWORD PTR SS:[ESP],EAX
004014EB |. E8 308C0200 |CALL 0042A120
004014F0 |> 833D 10304400 |CMP DWORD PTR DS:[443010],1
004014F7 |. 74 02 |JE SHORT 004014FB
004014F9 |.^ EB 87 \JMP SHORT 00401482
004014FB |> 833D 10304400 CMP DWORD PTR DS:[443010],1
00401502 |. 75 24 JNE SHORT 00401528
00401504 |. C74424 04 430 MOV DWORD PTR SS:[ESP+4],OFFSET crackme. ; ASCII "ist geschaft!"
0040150C |. C70424 E03344 MOV DWORD PTR SS:[ESP],OFFSET crackme.00
00401513 |. E8 B0AC0300 CALL 0043C1C8 ; [crackme.0043C1C8
00401518 |. C74424 04 98A MOV DWORD PTR SS:[ESP+4],crackme.0043AF9
00401520 |. 890424 MOV DWORD PTR SS:[ESP],EAX
00401523 |. E8 F88B0200 CALL 0042A120
00401528 |> C70424 510044 MOV DWORD PTR SS:[ESP],OFFSET crackme.00 ; ASCII "pause"
0040152F |. E8 9CF20000 CALL <JMP.&msvcrt.system> ; Jump to msvcrt.system
00401534 |. B8 00000000 MOV EAX,0
00401539 |. C9 LEAVE
0040153A \. C3 RETN
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
int solved = 0;
int a = 0;
int r = 0;
char passwort[10];
int test(char eingabe[10]);
int test( char eingabe[10] ) {
if (!( r == 1)) {
strncpy(passwort, "gZf3O6", 6 );
r = 1;
}
for (int i=1; i<6 ;i++) {
if (!(passwort[i] == eingabe[i])) {
return 0;
}
}
solved = 1;
return 1;
}
int main(int argc, char *argv[])
{
char pw[10];
cout << "Hallo bitte gib das Passwort ein" << endl;
cout << passwort << endl;
do {
cin.getline( pw, sizeof(pw));
a = test( pw );
if ( a == 1 ) {
cout << "crackme ";
}
else {
cout << "passwort falsch!" << endl;
}
} while ( !(solved == 1) );
if (solved == 1 ) {
cout << "ist geschaft!" << endl;
}
system("pause");
return EXIT_SUCCESS;
}
If (sUsereingabe == "1234-serial-1234"){
cont << "crackme geschafft"
}else{
cont << "serial falsch"
}
004013A7 |. C74424 04 0000>MOV DWORD PTR SS:[ESP+4],crackme.0044000>; |ASCII "gZf3O6"
Genaugenommen wird die Adresse des PW auf den Stack (nicht ins Stackregister) geschrieben.Wird hier das PW ins Stackregister geschoben?
Rechtsklick->Follow in Dump->Immidate Constant, Aber wie gesagt: Google, und die Dokumentation von Olly helfen weiter.Wenn ja, wie lese ich dieses dann da aus?
Bei simplen Crackmes wie diesem, ist das möglich, bei komplexeren natürlich nicht.Es kann doch nicht so einfach sein, dass man nur nach Textstrings suchen muss, und dann das PW aus der Kommentarliste auslesen kann..., oder?
jaja schon recht(wobei O keine null ist großes Grinsen )