Hacks & CrackmesTests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert.
SerialMe
Diskussion: SerialMe im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige
Hallo
Hab mich mal rangesetzt und euch ein neues SerialMe zusammengeschustert.
Die Regeln sind wie folgt:
- Kein Patchen
...
Ok, hier ist schonmal eine Serial:
Edit: kurzer Lösungsweg hinzugefügt
serial
52aaaAAI8
Folgendes muss für die Serial gelten:
-ASCII-Wert des ersten Zeichens prim
-Zweites Zeichen durch 2 teilbar(=gerade Zahl)
-Summe aller Zeichen muss 0x230 sein.
-10 Zeichen lang(inkl. <Enter> nach Serialeingabe
Wer will kann dies nun in einen Keygen packen.
kurze Beschreibung des Lösungswegs:
Beim Durchgehen gelangt man früher oder später zu diesem Code:
Der Code ist für das "Entschlüsseln" von Statusmeldungen verantwortlich und tut dies in dem jedes Zeichen mit 0x34 gexort wird.
Die Meldungen beginnen bei Adresse 428A30, also kann man mit folgendem Code die Meldungen entschlüsseln:
Code:
MOV EDI, 00428A30
XOR ECX, ECX
MOV AL, BYTE PTR DS:[ECX+EDI]
XOR AL, 34
MOV BYTE PTR DS:[ECX+EDI], AL
INC ECX
CMP ECX, 1A0
JB SHORT SerialMe.004011D8 // <- anpassen
Oder hier in assemblierter Form für "binary paste" in OllyDbg(einfach an einer freien Stelle im Code einfügen und dann "new origin here" wählen:
Dann schaut man im Speicher nach, wo die "Richtig"-Meldung beginnt(bei 428A40). Man klickt auf das erste Byte und wählt "Find references", wodurch man zu der Funktion an Addresse 4014F0 gelangt. Dann geht man zu dem Sprung der zu dieser Addresse führt und wählt wieder "Find references to->Selected command", dies wiederholt man bis man am Anfang der Prüfung ankommt. So findet man heraus, welche Sprünge der Serialprüfung(beginnt bei 4010E1 (IDA-Signatur anwenden und nach Aufrufen von _fgets suchen)) springen müssen und welche nicht. Nun muss man nurnoch die versch. Bedingungen analysieren(kein komplizierter Code).