Hackerboard WikiHaboBlog

[HaBo]

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

mein erstes ;-)

Diskussion: mein erstes ;-) im Forum Hacks & Crackmes, in der Kategorie Software Home; Hallo an Euch alle ich hab mich auch mal an einem crackme versucht. da es in vb .net geschrieben wurde, ...

Antwort
Alt 15.05.09, 16:14   #1 (permalink)
 
Registriert seit: 22.03.09
bouncecrowd Leistung: Facit NTK
Likes: 0
Standard mein erstes ;-)


Hallo an Euch alle

ich hab mich auch mal an einem crackme versucht. da es in vb.net geschrieben wurde, dürfte es für die meisten nicht sehr schwer sein dies zu knacken. vielleicht schafft es dann ja sogar der eine oder ander dafür einen keygen zu erstellen.

Angehängte Dateien
Dateityp: zip LogIn.zip (9,8 KB, 39x aufgerufen)
bouncecrowd ist offline   Mit Zitat antworten
Alt 15.05.09, 16:22   #2 (permalink)
 
Benutzerbild von ChiefWiggum
 
Registriert seit: 09.10.07
ChiefWiggum Leistung: 8086
ChiefWiggum eine Nachricht über ICQ schicken
Likes: 11
Standard RE: mein erstes ;-)

Zitat:
Original von bouncecrowd
Hallo an Euch alle

ich hab mich auch mal an einem crackme versucht. da es in vb.net geschrieben wurde, dürfte es für die meisten nicht sehr schwer sein dies zu knacken. vielleicht schafft es dann ja sogar der eine oder ander dafür einen keygen zu erstellen.
Code:
private void Button1_Click(object sender, EventArgs e)
{
    int num;
    long num2;
    string s = "";
    string str3 = "";
    bool flag = true;
    if (Strings.Len(this.TextBox1.Text) == 5)
    {
        int num3 = this.TextBox1.TextLength - 1;
        for (num = 1; num <= num3; num++)
        {
            num2 = Conversions.ToLong(Conversions.ToString(num2) + Conversions.ToString(Strings.Asc(this.TextBox1.Text[num])));
        }
    }
    if (Strings.Len(num2.ToString()) >= 10)
    {
        num2 = Conversions.ToLong(Strings.Mid(Conversions.ToString(num2), 2, 8));
    }
    string str = this.wert(num2);
    int num4 = str.Length - 1;
    for (num = 0; num <= num4; num += 5)
    {
        string zahl = Strings.Mid(str, num + 1, 5);
        string str5 = Conversions.ToString(this.Quersumme(zahl));
        s = s + str5;
    }
    str3 = this.TextBox4.Text + this.TextBox5.Text + this.TextBox6.Text + this.TextBox7.Text;
    byte[] bytes = Encoding.ASCII.GetBytes(s);
    byte[] buffer = Encoding.ASCII.GetBytes(str3);
    MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider();
    byte[] buffer3 = provider.ComputeHash(bytes);
    byte[] buffer4 = provider.ComputeHash(buffer);
    int num5 = buffer3.Length - 1;
    for (num = 0; num <= num5; num++)
    {
        if (buffer4[num] == buffer3[num])
        {
            flag = false;
        }
        else
        {
            flag = true;
            break;
        }
    }
    if (!flag)
    {
        this.TextBox3.Text = "PASS";
    }
    else
    {
        this.TextBox3.Text = "FAIL";
    }
}
Reflector lässt grüßen :-D
__________________
Be the source always with you.
ChiefWiggum ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 15.05.09, 16:49   #3 (permalink)
Themenstarter
 
Registriert seit: 22.03.09
bouncecrowd Leistung: Facit NTK
Likes: 0
Standard

wow, das ging schnell....nur sehe ich gerade net, ob du den login namen und den key hast? und leider kann ich aus deinem quelltext (sieht aus wie c#, kann das sein) nicht erkennen ob du einen gültigen key erzeugen kannst....kannst du ihn vielleicht in vb posten...kann ich besser lesen ;-)
c# will ich erst in naher zukunft lernen...zumindest mir mal anschauen
bouncecrowd ist offline   Mit Zitat antworten
Alt 15.05.09, 16:54   #4 (permalink)
 
Benutzerbild von ChiefWiggum
 
Registriert seit: 09.10.07
ChiefWiggum Leistung: 8086
ChiefWiggum eine Nachricht über ICQ schicken
Likes: 11
Standard

Hey,

hier den Code nochmal auf VB:
Code:
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim num As Integer
    Dim num2 As Long
    Dim s As String = ""
    Dim str3 As String = ""
    Dim flag As Boolean = True
    If (Strings.Len(Me.TextBox1.Text) = 5) Then
        Dim num3 As Integer = (Me.TextBox1.TextLength - 1)
        num = 1
        Do While (num <= num3)
            num2 = Conversions.ToLong((Conversions.ToString(num2) & Conversions.ToString(Strings.Asc(Me.TextBox1.Text.Chars(num)))))
            num += 1
        Loop
    End If
    If (Strings.Len(num2.ToString) >= 10) Then
        num2 = Conversions.ToLong(Strings.Mid(Conversions.ToString(num2), 2, 8))
    End If
    Dim str As String = Me.wert(num2)
    Dim num4 As Integer = (str.Length - 1)
    num = 0
    Do While (num <= num4)
        Dim zahl As String = Strings.Mid(str, (num + 1), 5)
        Dim str5 As String = Conversions.ToString(Me.Quersumme(zahl))
        s = (s & str5)
        num = (num + 5)
    Loop
    str3 = (Me.TextBox4.Text & Me.TextBox5.Text & Me.TextBox6.Text & Me.TextBox7.Text)
    Dim bytes As Byte() = Encoding.ASCII.GetBytes(s)
    Dim buffer As Byte() = Encoding.ASCII.GetBytes(str3)
    Dim provider As New MD5CryptoServiceProvider
    Dim buffer3 As Byte() = provider.ComputeHash(bytes)
    Dim buffer4 As Byte() = provider.ComputeHash(buffer)
    Dim num5 As Integer = (buffer3.Length - 1)
    num = 0
    Do While (num <= num5)
        If (buffer4(num) = buffer3(num)) Then
            flag = False
        Else
            flag = True
            Exit Do
        End If
        num += 1
    Loop
    If Not flag Then
        Me.TextBox3.Text = "PASS"
    Else
        Me.TextBox3.Text = "FAIL"
    End If
End Sub
Das sollte so ziemlich dein Überprüfungscode sein^^
__________________
Be the source always with you.
ChiefWiggum ist offline   Mit Zitat antworten
Alt 15.05.09, 17:51   #5 (permalink)
Themenstarter
 
Registriert seit: 22.03.09
bouncecrowd Leistung: Facit NTK
Likes: 0
Standard

hey...

ja, das ist soweit richtig. ich denke mal du hast auch reflector verwendet.
was ich nicht ganz verstehe - wahrscheinlich, weil ich es noch nicht benutzt hab - warum zeigt reflector nur diesen code an...im hintergrund passieren noch ein paar berechnungen in anderen functions...warum sieht man die nicht?
bouncecrowd ist offline   Mit Zitat antworten
Alt 15.05.09, 17:54   #6 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 42
Standard

Die sieht man auch, vermutlich hat er halt nur die entsprechenden anderen Berechnungen nicht gepostet.

Lade dir doch einfach mal den Reflector und sieh dir deine eigene .exe an, dann wirst du vermutlich auch verstehen, warum ein Crackme in jeglicher .NET Sprache ohne weitere Mechanismen eher sinnlos sind
lightsaver ist offline   Mit Zitat antworten
Alt 15.05.09, 18:54   #7 (permalink)
 
Benutzerbild von ChiefWiggum
 
Registriert seit: 09.10.07
ChiefWiggum Leistung: 8086
ChiefWiggum eine Nachricht über ICQ schicken
Likes: 11
Standard

Jap, ich hab nur die Button1_Click - Funktion gepostet ;-)

Rest ist ja nicht so wichtig :-D
__________________
Be the source always with you.
ChiefWiggum ist offline   Mit Zitat antworten
Alt 15.05.09, 19:08   #8 (permalink)
Themenstarter
 
Registriert seit: 22.03.09
bouncecrowd Leistung: Facit NTK
Likes: 0
Standard

Hi AlterHacker ist ja wohl wichtig
Scherz beiseite, ich hab mir jetzt mal den reflector runtergeladen und es mir angeschaut
man sieht ja wirklich alles....nur denke ich - schlagt mich nicht bzw. korrigiert mich wenn ich falsch liege - muß man es erst nachproggen um auf ein ergbnis zu kommen, oder sehe ich das jetzt falsch?
bouncecrowd ist offline   Mit Zitat antworten
Alt 16.05.09, 01:04   #9 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 42
Standard

Copy-Paste von dem interessanten Teil reicht doch, ist immerhin viel leichter als dir das in Assembler selber herauszusuchen
lightsaver ist offline   Mit Zitat antworten
Alt 16.05.09, 02:38   #10 (permalink)
Themenstarter
 
Registriert seit: 22.03.09
bouncecrowd Leistung: Facit NTK
Likes: 0
Standard

ja, dann danke ich erstmal allen, die sich die mühe gemacht haben da mal drauf zu schauen. will ja nicht nerven, eine frage hätte ich aber noch...da niemand einen login mit dazu gehörigem key gepostet hat...ist es so, wenn der quelltext offen liegt ist die sache erledigt?
ist wie gesagt nur 'ne frage...interessiert mich schon, da ich ja keine abfrage in dem sinne suche login name xyz mit key 123abc gemacht hab, sondern es erst bei der eingabe berechnen lasse und dann den hash vergleiche. und somit kann man ja die daten nicht direkt auslesen.
bouncecrowd ist offline   Mit Zitat antworten
Alt 16.05.09, 12:52   #11 (permalink)
 
Registriert seit: 12.01.09
lone.wolf Leistung: Z3
lone.wolf eine Nachricht über AIM schicken
Likes: 1
Standard

Natürlich

Zitat:
Original von bouncecrowdinteressiert mich schon, da ich ja keine abfrage in dem sinne suche login name xyz mit key 123abc gemacht hab, sondern es erst bei der eingabe berechnen lasse und dann den hash vergleiche. und somit kann man ja die daten nicht direkt auslesen.
Abfrage = Abfrage !
Letztendlich wird - je nach dem - StrCmp - aufgerufen und da kann man sehr schön sehen, welche 2 Passwörter verglichen werden.

Am besten ist es, du lässt dir das Passwort berechnen -> du gehst verschieden - unter Anderem auch selbstausgedachte - Algorithmen durch und benützt einen Flag .. Jedoch ist ein Glied nur so stark wie sein schwächstes Mitglied -> die Abfrage, welche es in ALLEN "geschützten" Programmen am Schluss gibt -> die ist leicht zu patchen, weshalb auch nun das Patchen nicht mehr die Kunst der Sache ist, sondern den Algo brechen um eventuell einen Keygen zu schreiben.

MfG
lone.wolf ist offline   Mit Zitat antworten
Alt 16.05.09, 13:45   #12 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 156
Standard

Zitat:
haben da mal drauf zu schauen. will ja nicht nerven, eine frage hätte ich aber noch...da niemand einen login mit dazu gehörigem key gepostet hat...ist es so, wenn der quelltext offen liegt ist die sache erledigt?
Naja, vielleicht liegt das auch daran, dass man ersmal mit unbeschriftetem Dialog und vielen Editfeldern konfrontiert wird und nicht weiß, was man wohin eingeben muss . Da bekommt man nur solche Fehlermeldungen zu sehen:
Zitat:
************* Ausnahmetext **************
System.InvalidCastException: Ungültige Konvertierung von der Zeichenfolge in Typ Long. ---> System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
bei Microsoft.VisualBasic.CompilerServices.Conversions .ParseDecimal(String Value, NumberFormatInfo NumberFormat)
bei Microsoft.VisualBasic.CompilerServices.Conversions .ToLong(String Value)
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.VisualBasic.CompilerServices.Conversions .ToLong(String Value)
bei WindowsApplication1.Form1.wert(Int64 test)
bei WindowsApplication1.Form1.Button1_Click(Object sender, EventArgs e)
bei System.Windows.Forms.Control.OnClick(EventArgs e)
Ich musste erst in den Quelltext schauen, um herauszufinden, welche Eingaben das Crackme vom mir haben will - und das ist nicht gerade interessefördernd .

Btw: hilfreicher Link zum Patchen:
http://fandigunawan.googlepages.com/CIL-Opcode-fin.pdf
(2c zu 2d an 0x199c).
Angehängte Dateien
Dateityp: zip LogInpatched.zip (9,6 KB, 11x aufgerufen)
__________________
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
Antwort
   

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » mein erstes ;-)
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
mein erstes escor Hacks & Crackmes 1 02.11.09 13:14
mein erstes crack me VB6 pokelol Hacks & Crackmes 1 27.12.08 14:44
Mein erstes KeyGenMe SFD Hacks & Crackmes 16 16.11.08 10:56
[KeygenMe] mein erstes crystal Hacks & Crackmes 5 23.12.05 10:49
Mein erstes Design ba2 Umfragen 12 09.10.05 11:20


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