ein neues [gelöst von cdw, wer sonst ?]

so mal wieder ein crackme von mir
patchen ist sicher einfach, deshalb bitte eine gültige nummer, oder besser gleich ein keygenerator

und wäre es möglich das jemand von euch mal ein richtig, richtig einfaches crackme schreibt, dass ich lösen kann?
 
Jetzt fällt mir auch wieder ein, warum ich MSVC++ Compiler grundsätzlich nicht mag ;)

Hier ein "Keygen" (42 Byte mit einer Randomroutine (es lässt sich auf jeden Fall noch mehr rausholen - try2beatit :) ))
Und damit es hier noch eine Weile hält (Status: weiterhin ungelöst) ist das Ganze passwortgeschützt.
Passwort:
Man nehme die niedrigmöglichste Serial. Davon trage man nur die Hälfte ein (Seriallänge/2) <- man kann also erst mit einer eignen Lösung den Keygen sehen
 
Ich mache eins...

P.s. Wie bekommt man dein CrackMe entpackt? Mein UPX will net....

EDIT: Hier is mein CrackMe
 
pw ist Ha Bo
oder
004014DE 74 3E JE SHORT Easy_Cra.0040151E
was bitte macht TEST EAX,EAX
und wo hast du den string hergezaubert? ich habe ihn vorher nicht sehen können, aber ne schöne liste von monaten...

das programm ist nur mit upx gepackt worden, als ka warum es nicht geht
 
was bitte macht TEST EAX,EAX
wenn Du den Befehl an sich meinst: dasselbe wie ein AND EAX,EAX - nur wird dabei das Erbenbis nicht abgespeichert (also EAX nicht verändert) sondern nur die entsprechenden Flags. Meistens sieht es man im zusammenhang mit dem "Null-Test" eines Ergebises - TEST EAX,EAX setzt den Zero-flag, falls EAX==0 ist. Soll weniger Abhängigkeiten als CMP EAX,0 erzeugen, was sich fürs Pipelining auszahlt (oder früher ausgezahlt hat - die CPUs werden auch ständig optimiert).

P.s. Wie bekommt man dein CrackMe entpackt? Mein UPX will net...
Sicher, dass Olly zu dem Zeitpunkt geschlossen ist und keienrlei Zugriff aufs Crackme besteht ;) ? Bei mir ging es mit UPX 1.93

bekomme ich noch infos was an meinem crackme leicht oder vlt. schwer war?
Naja, der MSVC ++7 ist schon recht eigenartig und generiert so richtig viel Code. Hat man aber die Anordnung und die "Bauweise" der Exe verstanden findet man sich schnell zu recht - bis man es allerdings verstanden hat, können auch paar Stunden vergehen ;)
 
Also keine Ahnung was das für ne UPX-Version ist. Kann das auch nicht normal entpacken. Habs jetzt manuell entpackt. Allerdings hasse ich Konsolen-Crackmes.:)
 
upx 2.01
und die konsole benutze ich, weil man bei einem mfc programm sofort die msgbox sieht und weil es kleiner ist und einfach schneller geht
 
da sich niemand meldet: hier eine recht detailierte Lösung.
Sie mag nicht ganz so schön und elegant sein - liegt auch daran, dass ich bewusst
versucht habe, die "normale" Vorgehnsweise vorzustellen (alle alten BPs gelöscht und
versucht es neuzulösen und praktisch zu protokolieren :) ).

Denn sonst ist man meistens sehr versucht andere Methoden anzuwenden um zur Lösung zu kommen - es sieht zwar im Nachhinein recht elegant aus und man muss weniger schreiben, aber meistens wäre man ohne Vorkenntnisse der Crackmestruktur nicht darauf gekommen.
Ich habe hier auch an einigen Stellen gemogelt, damit das nicht zu viel Lesestoff ist und auf einige "Hardcoretricks" verzichtet. Ich hoffe trotzdem, dass sie möglichst authentisch ist. Ziel war es, keine bloße Schritt für Schritt anleitung zu liefern, sondern auch die Idee dahinter.

Voraussetzungen: rudimentäre OllyDbg und Asm Kenntnisse - den Rest hoffe ich recht verständlich dargelegt zu haben.

Zum Keygen:
Pass ist XBM
Source (MASM, am besten mit einer älteren Version nutzen, die direkt COM Files erzeugen kann: ML keygen.asm /AT ):
Code:
CSEG segment
org 100h

Begin:
    
    mov ah,2ch  ;Systemtime
    int 21h ;in DL wurde 1/100 Sekunde geliefert
    mov ax,dx
    xor dx,dx
    mov cx,'z'-'a'
    div cx    
    add dl,'a'
    mov bx,offset Message      
    mov byte ptr [bx+4],dl  
    ;//Ausgeben
    mov dx,bx
    mov ah,9   
    int 21h
    mov ah,1
    int 21h     
    int 20h
    

Message db 'XBMXQ//$'

CSEG ends
end Begin
 
@C++freak
Weiss nicht ob du schon das aus meinem Tread (Brauche unterstützng) kennst(ziemlich weit oben).

Ich habs zwar nicht selbst geschrieben^^ 8o, aber es ist auf jeden Fall sehr einfach, ich habe selbst viel zu weit gesucht... --> Desswegen auch der Tread

Und eine detailierte Lösung findest du ebenfalls dort.

MfG

IsNull
 
Zurück
Oben