Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert.

Einfache Fragen zum "CrackME" [SOLVED]

Diskussion: Einfache Fragen zum "CrackME" [SOLVED] im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Hallo alle zusammen. Ich hätte da mal eine kleine Frage an euch :D Ich habe hier mit Visual Basic ...

Antwort
Alt 01.12.06, 17:07   #1 (permalink)
 
Registriert seit: 30.10.06
Ace.Worm Leistung: Facit NTK
Ace.Worm eine Nachricht über ICQ schicken
Likes: 0
Question Einfache Fragen zum "CrackME" [SOLVED]

Anzeige

Hallo alle zusammen.

Ich hätte da mal eine kleine Frage an euch :D
Ich habe hier mit Visual Basic 2005 ein kleines Programm erstellt wo man einen bestimmten Wert eingeben muss um eine Messagebox mit "Richtig" zu erhalten.
Man kann es nicht WIRKLICH als Crackme bezeichnen,da das "Passwort" im Quelltext steht und sonst gar keine Funktionen eingebaut sind um es einem zu erschweren.

Darum geht es mir auch gar nicht.

Ich wollte fragen wenn jemand das Passwort rausgefunden hat WIE er es gemacht hat.
D.h "Ich habe das Passwort im Quelltext gelesen" oder auch "Ich habe einfach das Programm so verändert,dass es bei egal welcher Eingabe sofort zu "Richtig" springt.

Mich interessiert einfach WIE sowas gemacht wird :)


Frage 2 :

Wenn ihr CrackME's programmiert, WIE macht ihr das? (Ich bräuchte ein paar Tips da ich gerade erst Visual Basic lerne und noch nie etwas in der Richtung gemacht habe).
Grundsachen reichen völlig, keiner braucht hier sein Know How öffentlich zu machen :]

Ihr speichert die Key's oder Passwörter ja bestimmt NICHT im Quelltext.

Was für Methoden benutzt ihr dafür?

Ich bedanke mich bei euch im Vorraus :)



Vllt programmiere ich in einiger Zukunft ja anspruchvollere CrackME's :)


MFG

Angehängte Dateien
Dateityp: rar w00t.rar (7,2 KB, 103x aufgerufen)
Ace.Worm ist offline   Mit Zitat antworten
Alt 01.12.06, 17:31   #2 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
bei solch einem CrackMe ist es wohl das leichteste mit dem Programm 'strings' einfach alle enthaltenen Strings aus der Datei auslesen, dabei taucht dann auch das Passwort auf.


Um dies zu erschweren, speichert man das Passwort nicht im Klartext ab. Sondern die User Eingabe wird genommen und schön durch den Fleischwolf gedreht. Das heißt, Buchstaben werden vertauscht, zu den Buchstaben (Char-Code) werden Zahlen addiert/subtrahiert die evt. sich aus einem Algorithmus/Pseudo-Zufallsgenerator ergeben. Evt. bildet man noch Hash-Werte von der Eingabe etc.

Dann, dass was am Ende raus kommt, wird mit dem abgespeichertem verglichen. So könnte er dann zwar das abgespeicherte Lesen, müsste aber deine ganzen Schritte des Fleischwolfes rückwärts durchlaufen und wenn du z.B. ein One-Way-Hashverfahren mitverwendest, würde er daran hängen bleiben.

Ein anderes Problem wäre jetzt: Man könnte aus dem if(Fleischwolf(UserEingabe) == AbgespeichertesFleischwolfErgebnis) einfach ein Ungleich daraus machen und schon würde die Bedingung erfüllt werden, wenn man einen falsches PW eintippt.

Des Wegen musst du so oft wie möglich auf den Wert des Fleischwolfes zurückgreifen. Das kann sein, indem du öfters das PW in deinem Prog überprüfst oder das Ergebnis mit in Berechnungen mit verwendest, die dann bei falschen PW falsch wären etc.
Elderan ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 01.12.06, 17:47   #3 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 202
Standard

1)NET wird zwar zugegebenermaßen immer beliebter, dennoch beschäftigen sich wohl die meisten immer noch mit "direktem CPU-Code" sprich mit Programmen, die nicht im Zwischencode (wie Java,NET) vorliegen. Auch für NET soll es eigene Debugger geben (ich kenne mich mit NET Zeug nicht aus ) und auch Disassembler. Solange man aber nicht für die Erzeugten NET Programme einen sogenannten Obfocusator (ein Programm, das Nachträglich den Code unleserlich mach, da soll es einige geben, auch wenn google irgenwie nichts zu "obfocusator" hergeben mag - kann auch an der falschen Schreibweise liegen) benutzt, kann man z.B mit Reflector
http://www.aisto.com/roeder/dotnet/

den quelltext   

Code:
Private Sub btt_Check_Click(ByVal sender As Object, ByVal e As EventArgs)
      If (Operators.CompareString(Me.SERIALNR.Text, "w00t", False) = 0) Then
            MessageBox.Show("RICHTIG!")
            Me.Hide
            MyProject.Forms.Form1.Show
      Else
            MessageBox.Show("FLASCH!")
      End If
End Sub

lesen. Was dann wohl etwas einfach ausschaut . Auch wenn kompliziertere Verfahren eingebaut werden - diese Routinen können einfach herauskopiert und zum generieren der Schlüssel benutzt werden bzw es ist dann um einiges einfacher, den Algorithmus oder die richtige Stelle herauszufinden.

2)
Naja, man könnte ja z.B statt (if eingabe=="passwort" then richtig)
eine berechnung einbauen. Z.B
Code:
if (ASCII_Summe(eingabe_name)+1337)=eingabe_schluessel then richtig)
noch besser wäre es allerdings, sowohl mit dem Schlüssel wie mit dem Namen verschiedene Berechnungen anzustellen und niemals eine "fertige", aus dem Namen berechnete Serial/Key direkt mit der User-Key-Eingabe zu vergleichen.

Wenn Du selber ein paar Crakckmes löst, siehst Du gleich auch gleich die Schwachstellen, die man dann in eigenen natürlich vermeiden sollte.
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
Alt 01.12.06, 18:06   #4 (permalink)
Themenstarter
 
Registriert seit: 30.10.06
Ace.Worm Leistung: Facit NTK
Ace.Worm eine Nachricht über ICQ schicken
Likes: 0
Standard Vielen Dank

So da bin ich wieder.

Vielen Dank für die Antworten

Dass man mit den richtigen Tools den Sourcecode von .NET Programmen wieder sichtbar machen kann wusste ich ja gar nicht!
Microsoft setzt ja gross auf diese Plattform und will ja auch viele Professionelle Programmierer dazu bewegen ihre Software auf dem .NET Framework zu programmieren.

Schade,dass die nicht an sowas gedacht haben.

Für einen wie mich der nur als Hobby programmiert und im Alltag nicht arbeitet (Bin Beamter ) ist VB eine gute Sprache um schnell ein kleines Tool zu programmieren :]


Zu Frage 2.

Danke auch hier für die Antworten,hat mir schon sehr weitergeholfen.
Vom Prinzip her verstehe ich eure Antworten,nur wie ich das in VB umsetze ist mir noch nicht so ganz klar was aber warscheinlich daran liegt,dass meine Kenntnisse noch sehr ausbaufähig sind was man ja auch an meinem Source erkennen kann

Werde mal versuchen sowas umzusetzen.

Vielen Dank



P.S

Ich hatte letzte Nacht nicht gut einschlafen können und hatte eine Idee die ich aber ganz schnell verworfen habe da etwas so simples auch dann warscheinlich sehr simpel zu knacken sein wird *G*

Nehmen wir an der User muss einen Namen eingeben und dazu eine Serial.
Maximale Länge 8 Zeichen.

Der Serial Key würde folgendermassen ausgerechnet (BSP) A = 1, B = 2, C = 3 u.s.w
Für den Namen ABC würde man also den Key 123 benötigen.

Wie gesagt aber wieder verworfen
Da sind bestimmt Sachen die ich nicht berücksichtigt habe *G*
Ace.Worm ist offline   Mit Zitat antworten
Alt 01.12.06, 18:24   #5 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 76
Standard

Zitat:
[...]sogenannten Obfocusator [...] auch wenn google irgenwie nichts zu "obfocusator" hergeben mag - kann auch an der falschen Schreibweise liegen[...]
Kleiner Dreher: Es heisst [1] "Obfuscator"

[1] http://de.wikipedia.org/wiki/Obfuscator
+++ATH0 ist offline   Mit Zitat antworten
Alt 01.12.06, 19:29   #6 (permalink)
Themenstarter
 
Registriert seit: 30.10.06
Ace.Worm Leistung: Facit NTK
Ace.Worm eine Nachricht über ICQ schicken
Likes: 0
Lightbulb Ah gefunden

AH jetzt habe ich es gefunden Danke euch allen
Ace.Worm ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » Einfache Fragen zum "CrackME" [SOLVED]
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
(Solved!) First Crackme fnordsniff Hacks & Crackmes 2 02.02.10 09:09
Crackme #1 [solved] Sn1per Hacks & Crackmes 3 13.03.08 17:24
Autoit Crackme -solved CDW/ zweites solved CDW :) sd333221 Hacks & Crackmes 6 06.12.05 18:48
3.tes Crackme - Solved by CDW fast_killer Hacks & Crackmes 1 08.10.05 18:23
Crackme #5 - solved DolphVS Hacks & Crackmes 26 04.09.05 14:16


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61