Einzelnen Beitrag anzeigen
Alt 09.10.09, 16:44   #15 (permalink)
Eydeet
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

Ich versuch mal, mich zu erinnern (immerhin ist es schon 'ne Weile her, dass ich mir das CrackMe angeschaut habe ).
Zitat:
Original von user82
wie kamst du darauf dass der call über eax wichtig ist
   
Warum EAX wichtig ist, ist dir klar, oder? Der Call darüber ist wichtig, da mir noch kein Compiler begegnet ist, der den Rückgabewert nicht in EAX speichert. Ansonsten kann man es natürlich auch im Debugger verfolgen und einen Breakpoint auf den Call setzen. Nach einem "Step over" landest du ja an der Addresse nach dem Call und kannst nachschauen, ob EAX sich verändert hat. Das tut es in diesem Fall.


Zitat:
Original von user82
wie interpretierst du den call(ist dass der richtige) zum passwort?
   
Um ehrlich zu sein, ich habe erst nur gesehen, dass die Funktion irgendetwas mit dem String anstellt. Es hat ein wenig gedauert, bis ich erkannt hat, dass die Funktion den String zeichenweise einliest, um zu prüfen, ob es sich um Ziffern handelt, von denen sie dann die ASCII-0 abzieht, um sie in "richtige" Zahlen umzuwandeln.

Nachdem ich das erkannt habe, habe ich vermutet, dass die Funktion die Aufgabe hat, einen String in eine Zahl umzuwandeln. Das hat sich auch durch Nachrechnen bestätigt, die Rückgabe in EAX entsprach genau dem Wert des Strings, wenn man es von hex->dec umgerechnet hat (Olly zeigt normalerweise nur Hex an).

Der Wert wurde dann ohne weitere Verarbeitung mit einem festen Wert verglichen, von daher hatte ich den "Algorithmus" zur Passwort-Berechnung.

Dann habe ich mich noch gefragt, wozu die Funktion die Ziffern mit den Zeichen '$' und 'x' vergleicht, und lag mit der Vermutung richtig, dass die Funktion auch Hexadezimal-Strings versteht.

Das ging natürlich nicht so schnell und geradlinig (zumindest nicht bei mir), da ich zunächst nur Buchstaben und keine Zahlen eingegeben habe, weshalb ich zunächst nur Fehlermeldungen bekam.



MfG, Eydeet
Eydeet ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61