Crackme6 by Kaddy

Huhu,
Ich gebe nicht auf ^^
diesmal sollte etwas me spannung dabei sein:p

#########
Alles ist erlaubt
#########
Tipp:
Der enrgiewert aktualisiert sich jede Sekunde
#########
Ziel:
Bringe den Energiewert auf 500 und mache ein Beweisscreenshot
 
War wieder ein Klax :)

004013BA C745 FC F40100>MOV DWORD PTR SS:[EBP-4],1F4 ; ++++Variablen Initialization -> 500 = 1F4 (F401)
004013C1 C745 F8 F40100>MOV DWORD PTR SS:[EBP-8],1F4
004013C8 C745 F4 F40100>MOV DWORD PTR SS:[EBP-C],1F4
004013CF C745 F0 F40100>MOV DWORD PTR SS:[EBP-10],1F4
004013D6 C745 EC F40100>MOV DWORD PTR SS:[EBP-14],1F4
004013DD C745 E8 F40100>MOV DWORD PTR SS:[EBP-18],1F4
004013E4 C745 E4 F40100>MOV DWORD PTR SS:[EBP-1C],1F4
004013EB > C70424 0000440>MOV DWORD PTR SS:[ESP],crackme6.00440000 ; |ASCII "cls"
004013F2 . E8 E9F20000 CALL <JMP.&msvcrt.system> ; \system
004013F7 . 837D FC 64 CMP DWORD PTR SS:[EBP-4],64
004013FB EB 07 JMP SHORT crackme6.00401404 ; ++++Wenn kleinergleich $64 (100), dann fahre fort --> Aushebeln
004013FD . C745 FC 640000>MOV DWORD PTR SS:[EBP-4],64
00401404 > 837D FC 63 CMP DWORD PTR SS:[EBP-4],63
00401408 EB 07 JMP SHORT crackme6.00401411 ; ++++Wenn groesser $63 (99), dann fahre fort --> Aushebeln
0040140A C745 FC 640000>MOV DWORD PTR SS:[EBP-4],64
00401411 > C74424 04 0400>MOV DWORD PTR SS:[ESP+4],crackme6.004400>; ASCII "Energie:
"
00401419 . C70424 C033440>MOV DWORD PTR SS:[ESP],crackme6.004433C0
00401420 . E8 A3AC0300 CALL crackme6.0043C0C8

Sowhol Screenshot, als auch Patched Echse im Anhang :)

EDIT: Mach nur weiter so. Du steigerst dich jedesmal ein bisschen.
PS: Ich frag mich gerade, wie weit X {CrackmeX by Kaddy} gehen wird :D

MfG ;)
 
Hey,

Ich bin neu hier und wollt mal fragen mit welchem Programm man die "crackmees"? öffnet.

Danke

Ps. was für eine programiersprache ist das?
 
Okay hab mich schlau gemacht was ein assembler ist...Vorschläge welchen ich downloaden kann/sollte?
Und das es in C++ geschrieben ist ist schonmal gut denn das versuch ich mir gerade beizubringen ;)
 
crackmes bearbeitet man nicht in einem Assembler. Der Assembler ist lediglich dazu in der lage Assemblercode in Maschinencode zu übersetzen. Crackmes debuggt man üblicherweise in einem Debugger (OllyDbg) oder in einem Disassembler(W32dasm).
 
Okay danke, hab mir den Ollydbg runtergeladen.
Konnte nur leider mit dem was der ausgespuckt hat nix anfangen:(
Versuche das mal zuverstehn.
Und nochmal danke.
 
Ohne dich enttäuschen zu wollen aber das wird kläglich scheitern. ;)

Ohne Tutorials zum Thema Reverse Engineering und Grundlagen zur Assemblersprache wirst du nicht weiter kommen.
 
Also: Assembler (oder korrekt: Assembly) ist das, was ein Debugger/Disassembler normalerweise ausspuckt, wenn man damit ein Programm öffnet. D.h um mit dem Output der "Crackprogramme" etwas anfangen zu können, sind Grundkenntnisse in Asm Pflicht.

Um sich aber ein Bild über die Programmlogik aus den einzelnen Assemblybefehlen machen zu können, sind Programmierkenntnisse nicht verkehrt (denn es läuft in etwa so ab: Programmlogik (über Programmierer)->Sourcecode->(über Compiler)->Assemblycode->(über Assembler)->Maschinencode=Executable ->(über Disassembler)Assemblycode->(über Brain >1.0) Programmlogik.

D.h bevor Du Dich ans "cracken" machst, solltest Du Dir Grundkenntnisse in einer der üblicheren Programmiersprachen (C,Pascal,C++, notfalls gehen auch NET Sprachen/Java) aneignen sowie Grundlagen der Hardware/Assembly.
 
War echt nicht wirklich schwer.
Lösungsweg im Spoiler, Screenshot + gepatches Programm im Anhang.

Naja als erstes bin ich in dem Call gesteppt wo das Programm läuft. Dann habe ich mir den Code etwas angeschaut und den Call zu Sleep gesehen.
Dann hab ich mir den Jump angeguckt und gesehen das es eine Endlosschleife ist.
Najo habe einfach folgende Zeile geändert:
CMP DWORD PTR SS:[EBP-4],64
zu
MOV DWORD PTR SS:[EBP-4],1F4
 
Zurück
Oben