Crackme

Aloha liebe Leute,

Das hier ist mein erstes Crackme!
Leute mit geübtem Auge können das ganz
bestimmt binnen von Tagen/Stunden oder gar Minuten
(was ich nicht hoffe :P ) lösen

MfG
 
Mehrere Logins sind möglich^^

z.B.
Login: jjjjjj
PW: A=3YY8kFbnyJDXKA$3tCZbFphAj%kwAK

Login: ThEeNd
PW: A="kY8PTF?y!bXKAL3hCKzFphAoMk$eK

Allerding ist das mein erster alleine gecrackter Crackme, ich weis also noch nicht wie das ausgerechnet wurde^^
 
OK ich hab n Fehler gemacht:)

Es ging nicht um das auslesen des Serials
sondern mehr um einen Keygen dafür zu schreiben

Mein Hauptaugenmerk war auf den Algo gerichtet ...

MfG
 
Original von lone.wolf
OK ich hab n Fehler gemacht:)

Es ging nicht um das auslesen des Serials
sondern mehr um einen Keygen dafür zu schreiben

Mein Hauptaugenmerk war auf den Algo gerichtet ...

MfG
Wenn man die Serial so einfach sniffen kann, muss man den ALgo nicht analysieren um ein Keygen zu schreiben.


Warum? Du hast anscheinend eine Funktion im folgenden stil gemacht:
Code:
serial = genserial(username)

Das heist, du lieferst den keygen schon selber mit. Das einzige was man jetzt noch tun muss ist, dein Crackme zu nem Keygen zu patchen. (Z.B. anstatt der Überprüfung der generierten Serial diese mit messagebox einfach ausgeben...)
 
Also irgendwie ist mir das schon peinlich, aber kann jemand mal kurz den Lösungsweg erklären? Ich bin da nämlich auf einige Probleme gestoßen.
Wenn ich die exe mit olly öffnen will, kommt erstmal ne Meldung wegen Verschlüsselung o.ä. Habe dann mal etwas genauer geguckt und herausgefunden, dass es scheinbar mit upx gepackt wurde. Also habe ich mir upx heruntergeladen und damit entpackt.
Da habe ich aber das nächste Problem: Das Resultat ist nicht mehr ausführbar. Lade ich das wieder in olly, dann bekomme ich die Meldung, dass der entry point außerhalb des Codes liegt. Ich kann mir zwar in olly alles ansehen und habe nun auch die Stelle gefunden, wo die Überprüfung und der Jump gemacht wird, allerdings kann ich nicht einfach mal dort nen Breakpoint setzen und debuggen, da ich wegen dem falschen entry point das Ganze ja nicht starten kann.
 
Naja, also mit der aktuellen UPX Version sollte das schon hinhauen. Sollte dann ein Borland Delphi assembly sein.

Aber kannst dich trösten, UPX entpacker macht bei mir auch immer wieder Probleme. Dahilft nur, andere Versionen zu versuchen...
 
Ich habe mir schon die aktuellste geladen (3.03 direkt von der Projektseite bei Sourceforge), aber gut, werde ich mal ne andere probieren


--- edit ---

Also ich habe jetzt mal noch andere Versionen probiert (2.03w, 2.00d, 1.25w, wobei die 1.25 meinte, ich bräuchte ne neuere) und ich habe bei allen das selbe Problem.
 
Man benötigt keine UPX entpacker oder sonst was^^, nur Ollydbg

Also so bin ich vor gegangen:
1. Crackme Starten und beliebigen Text in die Zeilen schreiben.
2. Auf im Crackme auf Check klicken (die kommende Meldung NICHT wegklicken)
3. Bei ollydbg auf File und Attach gehen
4. CrackMe auswählen
5. Auf Play(Run) und wieder Stop drücken, dann Alt- F9 drücken (Back to User)
6. Vom CrackMe die Meldung wegklicken

Ihr landet daraufhin in der Zeile 0040A16C

Weiter oben (0040A13D) seht ihr den Jumper (JE) der die GoodBoy message Überspringt
2 Zeilen drüber (0040A136) seht ihr den Call

7. Breakpoint (F2) auf den Call setzen (0040A136) (Meldung mit Ja bestätigen)
8. Auf Play (Run) drücken
9. Im CrackMe wieder auf Check klicken
10. Ihr landet daraufhin beim Breakpoint beim Call
11. F7 drücken
12. Jetzt öftere male auf F8 drücken bis ihr bei 00409E40 gelandet seit.
13. Dort steht soetwas:
ESP=0012FC2C, (ASCII "AGM5rek4wDyJVDmA$3h`yP5i(yoJ3YAklol"
14. Alles was zwischen " steht ist das PW. Am ende dieses Codes sehr ihr die eingabe was ihr in eurem CrackMe eingegeben habt, hier
AGM5rek4wDyJVDmA$3h`yP5i(yoJ3YAklol
(das könnt ihr weg lassen)
15. Testen^^
 
Original von lightsaver
Ich habe mir schon die aktuellste geladen (3.03 direkt von der Projektseite bei Sourceforge), aber gut, werde ich mal ne andere probieren


--- edit ---

Also ich habe jetzt mal noch andere Versionen probiert (2.03w, 2.00d, 1.25w, wobei die 1.25 meinte, ich bräuchte ne neuere) und ich habe bei allen das selbe Problem.

Tja. Nicht immer ist alles technisches Versagen. ;)
Vielleicht mischt der Author da auch ein bisschen mit?
Schau dir mal folgende Stellen an:
Die Funktion 409AA0 und der Vergleich an 40B180. ;)
 
Tja. Nicht immer ist alles technisches Versagen.
Das beim entpackten Crackme die GUI nicht mehr korrekt erstellt ist mir auch aufgefallen. Dass man die Exe nicht mehr starten kann, ist bei lightsaver jedoch seltsam.

Ich habe es danch auch atached.
 
Zum Entpacken:
da gibt es einfach einen Zusatzcheck ;)
so ab
Code:
00409AEC    E8 DFB2FFFF     CALL <JMP.&kernel32.CreateFileA>
bis
0040B180    813D 20024100 0>CMP DWORD PTR DS:[410220],7800
schauen ;)

OEP ist 0040B134

Edit: da war jemand schneller X(
Bei mir (XP Sp2) hat die GUI sowohl im gepackten wie entpackten Zustand leichte Fehler
 
Bei mir (XP Sp2) hat die GUI sowohl im gepackten wie entpackten Zustand leichte Fehler
Ich dachte eigentlich, dass das auch ein Schutzmechanismus wäre. Wenn man den Code in Olly breakt, ist das Fenster plötzlich "gefroren", und die Controls verschwinden.

theend Lösungsweg kann ich daher nur bis vor Schritt 7. nachmachen. Danach ist das Fenster freezed...
 
Hihi, ich hab da ein paar Sicherungen eingebaut damit man es
a) nicht debuggen kann
b) wenn es eine bestimmte größe nicht hat, nicht ausführen kann

Also upx ist nicht buggy :P

Abe sowas müsste auch leicht patchbar sein.

Was das cracken angeht:
Klar es war blöd, den serial per
serial = createserial zu erstellen;
Aber wie schon gesagt, mir gings irgendwie darum
nen keygen dafür zu schreiben indem man den Algo knackt usw

Tja ist ja auch mein erster Crackme...
Ich selber habe auch noch nicht viel gecrackt.

Kann mir evt. einer tipps geben wie ich das nächste Mal das ganze
ein bisschen kniffeliger machen kann ?

Gegebenfalls könnte ich noch source uppn !
Ist mit Delphi erstellt worden

MfG
 
Bei 7. muss man den Breakpoint setzen, und danach wieder das Crackme Starten also auf (Run) klicken, dann erst die Meldung bestätigen.

Wenn das Programm das man bearbeitet, auf Pause ist, scheint es als würde sch das Programm aufgehangen haben. Dann einfach auf (Run) klicken, wenn das nicht funktioniert. Nochmal von schritt 1 beginnen^^
 
Ist mir schon klar, dass sich das GUI an gewissen stellen aufhängt. Ist ja ganz normal. Aber bei dem Knaben hier freezt er ohne wirklichen Grund.

Die Meldung, von der du bei Punkt Sieben sprichst, gibts gar nicht mehr, da schon bei Punkt 6 weggeklickt.^^
 
Zurück
Oben