crackme2 [leicht - mittel]

Hallo Miteinander,
Da mein letzes Crackme ya doch seeehr einfach war,
hab ich mich nochmal ran gesetzt und diesmal ein (denke ich) etwas schwereres geproggt. Es wird auf jeden Fall einige Zeit mehr beanspruchen!
Es gilt ebenfalls kein patchen!

Mal sehn wielang ihr braucht, einfach dann die lösung posten!
Gruß Virus

Kleiner Tipp: Ihr solltet eine ASCII Tabelle zu hand haben sonst wirds schwierig! ;)
 
Original von Virus
Kleiner Tipp: Ihr solltet eine SCSII Tabelle zu hand haben sonst wirds schwierig! ;)
Eine was?! Meintest du vielleicht ASCII-Tabelle ;)

Wenn das qualitativ wieder sowas wie das hier ist, könntest du sogar nen Linux Crackme draus erstellen... den gcc benutzt du ja quasi schon ;)

Und nur so als Tipp: plain-text ist immer ganz böse ;)
Schau mal in meine Sig... da gibts einige crackmes... nur um mal deine "Schwierigkeit" einzuschätzen :-D
 
Hoppla kleiner tippfehler, soll natürlich ASCII heißen.
Und ich denke diemal ist es qualitativ etwas höher!
Ich weiß schon dass man das passwort nicht einfach so in den quelltext stellen soll, ich hatte deswegen ya auch geschrieben "sehr einfach" (Für den ein oder anderen Anfäger ist das doch ok) da man praktisch nur den string auslesen musste.. habs jetzt natürlich auch anders gemacht also viel spaß!

Gruß Virus

edit:
@cagiv: wie haste des jetzt so schnell geschaft?
hast du alles "zurückgerechnet" oder wie?
 
Viel rechnen muss man eigentlich nicht. Wenn das 7. Zeichen ein q (Hex 71) ist springt er in eine Procedure wo aus 2 Strings abwechselnd ein Zeichen genommen und zu einer 6-stelligen Serial zusammengefügt wird.

Gruss, cagiv
 
naja und ich dachte dass mein crackme diesmal etwas schwieriger wär....
(vorallem hab ich mir solche mühe beim erstellen der strings gemacht ;) )
naja hoffe dir hats spaß gemacht.

gruß virus
 
Hallo,

Kannst du bitte den Quellcode posten, bin noch Anfänger und bräuchte ihn für ein bessere Verständniss :rolleyes:

gruß binäru$
 
@cagiv:
Wenn das 7. Zeichen ein q (Hex 71) ist springt er in eine...
Er nimmt einfach alle Zeichen ab dem 6ten, oder?

Code:
CPU Disasm
Address   Hex dump          Command                                  Comments
004013CD  |.  C74424 04 000 |MOV DWORD PTR SS:[ESP+4],OFFSET crackme ; ASCII "Passwort: "
004013D5  |.  C70424 F03344 |MOV DWORD PTR SS:[ESP],OFFSET crackme2.
004013DC  |.  E8 A7AE0300   |CALL 0043C288                           ; [crackme2.0043C288
004013E1  |.  C74424 08 0C0 |MOV DWORD PTR SS:[ESP+8],0C
004013E9  |.  C74424 04 283 |MOV DWORD PTR SS:[ESP+4],OFFSET crackme ; ASCII "123456789"
004013F1  |.  C70424 903444 |MOV DWORD PTR SS:[ESP],OFFSET crackme2.
004013F8  |.  E8 135A0200   |CALL 00426E10
004013FD  |.  803D 2E304400 |CMP BYTE PTR DS:[44302E],71             ; ASCII "789"
00401404  |.  74 26         |JE SHORT 0040142C
00401406  |.  C74424 04 0B0 |MOV DWORD PTR SS:[ESP+4],OFFSET crackme ; ASCII "passwort falsch!"
0040140E  |.  C70424 F03344 |MOV DWORD PTR SS:[ESP],OFFSET crackme2.
00401415  |.  E8 6EAE0300   |CALL 0043C288                           ; [crackme2.0043C288
0040141A  |.  C74424 04 58B |MOV DWORD PTR SS:[ESP+4],crackme2.0043B
00401422  |.  890424        |MOV DWORD PTR SS:[ESP],EAX
00401425  |.  E8 B68D0200   |CALL 0042A1E0
0040142A  |.^ EB 98         |JMP SHORT 004013C4
0040142C  |>  E8 0F010000   |CALL 00401540                           ; [crackme2.00401540
00401431  |.  A3 24304400   |MOV DWORD PTR DS:[443024],EAX
00401436  |.^ EB 8C         \JMP SHORT 004013C4
00401438  |>  C74424 04 1C0 MOV DWORD PTR SS:[ESP+4],OFFSET crackme2 ; ASCII "richtig"
00401440  |.  C70424 F03344 MOV DWORD PTR SS:[ESP],OFFSET crackme2.0
Schau dir mal Addy 004013FD an. :) Dort wird doch chr(0x71) mit 789 verglichen, oder?

@Virus: Ist jetzt schon besser. Man braucht jetzt schon ein paar Basics in asm um das zu lösen, mehr aber auch nicht.
 
Zurück
Oben