XenCrackMe #Level: 2 [solved]

Hey Leute,
heute Abend hab ich mein erstes Crackme geschrieben in "C++"


Regeln:
-Kein Patchen!!!

+Keygen sollte dabei sein(wenn nicht zu viel Arbeit)
+Keysniffen ist erlaubt für Anfänger

Zielpersonen:
Anfänger und welche die schon etwas besser sind

Ziel des Crackme:
Etwas Verwirrung stiften aber den Profis unter euch dürfte es leicht fallen
die Tricks zu umgehen..
außerdem ist es wie bei jedem CrackMe eine gute Übung:D

Solved by:
VALLANI,CDW

Tutorial:
Ein ausführliches Tutorial zur CrackMe ist mit angehangen

PS:
Ihr könnt auch weiterhin Fragen/Keygens posten !!:D
 
Danke für das CrackMe. KeyGen ist ebenso ein Konsolenprogramm:
KeyGen

Gruss
Vallani

PS: Der erste Teil müsste theoretisch übrigens auch lösbar sein, wenn ich nicht daneben liege müssten es für User="Vallani" etwa 84 mio. mal die 8 und ein paar zerquetschte 9'nen sein. :)
 
Sehr schöner Keygen Vallani !!
Muss schon sagen nette Consolen Farben ^^ (muss ja nicht immer GUI sein :D)
ps: Ich schreib mal noch nicht in den Threadtitel "Solved" damit andere es auch noch probieren können
 
@Vallani:

Würde mich über ein paar Tipps freuen. Das Crackme ist jedenfalls schwieriger als es auf den ersten Blick aussieht. (nicht nur ein check ob serial stimmt usw.)
Hier habe ich meine Probleme:

Code:
00401407  |> 8B45 0C        MOV EAX,DWORD PTR SS:[EBP+C]             ; |
0040140A  |. 890424         MOV DWORD PTR SS:[ESP],EAX               ; |
0040140D  |. E8 7EF50000    CALL <JMP.&msvcrt.atoi>                  ; \atoi
00401412  |. 3B45 F0        CMP EAX,DWORD PTR SS:[EBP-10]
00401415     75 2C          JNZ SHORT crackme.00401443
00401417  |. C74424 04 00D0>MOV DWORD PTR SS:[ESP+4],crackme.0043D00>;  ASCII "Richtig"
0040141F  |. C70424 C013440>MOV DWORD PTR SS:[ESP],crackme.004413C0
00401426  |. E8 7D8B0300    CALL crackme.00439FA8
0040142B  |. C74424 04 888D>MOV DWORD PTR SS:[ESP+4],crackme.00438D8>
00401433  |. 890424         MOV DWORD PTR SS:[ESP],EAX
00401436  |. E8 05760200    CALL crackme.00428A40
0040143B  |. 8B45 F8        MOV EAX,DWORD PTR SS:[EBP-8]
0040143E  |. 8945 EC        MOV DWORD PTR SS:[EBP-14],EAX
00401441  |. EB 2A          JMP SHORT crackme.0040146D
00401443  |> C74424 04 08D0>MOV DWORD PTR SS:[ESP+4],crackme.0043D00>;  ASCII "Falsch"
0040144B  |. C70424 C013440>MOV DWORD PTR SS:[ESP],crackme.004413C0
00401452  |. E8 518B0300    CALL crackme.00439FA8
00401457  |. C74424 04 888D>MOV DWORD PTR SS:[ESP+4],crackme.00438D8>
0040145F  |. 890424         MOV DWORD PTR SS:[ESP],EAX
00401462  |. E8 D9750200    CALL crackme.00428A40
00401467  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
0040146A  |. 8945 EC        MOV DWORD PTR SS:[EBP-14],EAX
0040146D  |> 8B45 EC        MOV EAX,DWORD PTR SS:[EBP-14]
00401470  |. 83C4 24        ADD ESP,24
00401473  |. 5B             POP EBX
00401474  |. 5D             POP EBP
00401475  \. C3             RETN
Der cmp und der daran abhängige jnz (00401412) sahen auf den ersten Blick nach der Schlüsselstelle aus. Ich habe dann zu Testzwecken mal den jnz genopt, aber er liefert immer noch falsch zurück. Wäre nett wenn jemand ein Serial fishing Howto zu diesem Crackme schreiben könnte :)

Gruss
IsNull
 
Hi IsNull ich hoffe du akzeptierst das ICH dir Antworte :D
So also zum Thema...

Erstens: Falls du wirklich vorhast die richtige Serial zu finden muss ich dir einen Tipp geben und zwar, solltest du die Sache etwas "gesamter" betrachten

Zweitens: Falls du es nicht alleine Versuchen willst bzw. es nicht schaffst
kann ich dir gerne ein Tutorial schreiben
(zu dem Serial-Fishing dieses CrackMe´s)
vorausgesetzt natürlich das du es mir gestattest ^^


mfg DerXenon
 
Original von DerXenon
Hi IsNull ich hoffe du akzeptierst das ICH dir Antworte :D
So also zum Thema...

Erstens: Falls du wirklich vorhast die richtige Serial zu finden muss ich dir einen Tipp geben und zwar, solltest du die Sache etwas "gesamter" betrachten

Zweitens: Falls du es nicht alleine Versuchen willst bzw. es nicht schaffst
kann ich dir gerne ein Tutorial schreiben
(zu dem Serial-Fishing dieses CrackMe´s)
vorausgesetzt natürlich das du es mir gestattest ^^


mfg DerXenon
Gestattet :D

Ich nehme an, dass man eben auch in dem call vor dem obengenannten jnz tracen muss und das ganze dort nachvollziehen muss, nur komme ich da sehr an meine Grenzen... für ein Tutorial wäre ich dir überaus dankbar... (wenn möglich auch mit etwas Hintergrund, ein klick hier, klick da und voila bringt halt nicht viel...)

thx, :)
IsNull

ps: das @Vallani habe ich halt geschrieben, da er es ja (als einziger, zumindest öffentlich) gelöst hatte... wollte damit aber niemanden vom Antworten abhalten^^
 
@IsNull&lightsaver: ihr solltet euch nicht vom zu offensichtlichen ablenken lassen. Glaubt ihr tatsächlich, es ist der Code, den ihr anschaut ? :D.
Also einfach mal beobachten, was denn nach der (so leicht, fast zu leicht aufzufindenden) "richtig/falsch" Überprüfung passiert ;)
cdw
3826494

für mehr hat die Pause nicht gereicht ;)
 
Auch wenn es jetzt vielleicht nach CDW's Antwort klar ist: Überlegt mal was da eigentlich hauptsächlich benutzt wird um die Vergleichsserial zu erstellen und was für Auswirkungen das auf den KeyGen hätte. Wenn ihr nicht weiter wisst step by step durchgehen und auf das crt Fenster achten. :)

Gruss
Vallani
 
für mehr hat die Pause nicht gereicht Augenzwinkern
Kein Problem :D

@IsNull & lightsaver:
Ich meine CDW, Vallani und ich haben genug Tipps gegeben ^^
wenn nicht dann kann ich ja immer noch ein Tutorial machen :D

ps: falls ihr die Tipps nicht durchschaut habt:
Die Code - Stelle von IsNull ist NICHT die richtige :D

mfg DerXenon.
 
Original von DerXenon
ps: falls ihr die Tipps nicht durchschaut habt:
Die Code - Stelle von IsNull ist NICHT die richtige :D

mfg DerXenon.
Das habe ich auch bemerkt. Ich denke, das Problem liegt bei mir am fehlenden Assembler Wissen... wäre wohl klüger ein paar Halowelt Programme in ASM zu schreiben, und sich erst dann auf Crackmes zu konzentrieren... :)
 
Also das Tutorial ist fertig hab es auch für Anfänger geschrieben dürfte
aber auch für andere verständlich sein es ist im
ersten Eintrag von mir als Anhang mit dabei :D


mfg DerXenon
 
thx :)

Gute Idee, den String in einem Array zu verstecken ;)

ps: Ich schaue mir gerade die free Version von IDA an, das mit dem Logikgrafen gefällt mir recht gut. Benutzt ihr alle nur olly, oder auch mal den IDA?
 
Original von DerXenon
Wenn mir jemand kostenlos IDA Pro schenkt dann her damit :D
Wie bereits erwähnt, IDA PRO 4.9 ist Freeware (für nicht Komerzielle Nutzung).

Erst die neueren Versionen 5.0 5.1 sind für alle komerziell.
 
Ich benutze IDA eigentlich nur bei Malware oder bei größeren Binaries, wenn ich einen besseren Überblick brauche um einen Gesamtzusammenhang herzuleiten.
 
Man muss nur googeln... IDA 5.2 lässt sich leicht finden.
Editiert von CDW das ist schon klar ;). Aber 1) reicht die Freeversion von IDA i.R mehr als aus. 2) wollen wir hier keine Tauschplattform aufbauen.
 
Zurück
Oben