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.

Ultimate CrackMe .net 2.0

Diskussion: Ultimate CrackMe .net 2.0 im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige Hallo zusammen, Ich arbeite gerade an einem Programm, was ich schützen wollte. Um nun zu testen, ob der Schutzmeschanismus ...

Antwort
Alt 20.05.08, 13:16   #1 (permalink)
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard Ultimate CrackMe .net 2.0

Anzeige

Hallo zusammen,

Ich arbeite gerade an einem Programm, was ich schützen wollte.
Um nun zu testen, ob der Schutzmeschanismus was taugt habe ich eine kleines
CrackMe mit selbigem Schutz programmiert.

Ich persönlich finde den Schutz doch hsehr anspruchsvoll, da viele Routinen miteinander kombiniert wurden.
Aber seht selbst...

Verlangt wird ein Passwort, welches in der passwort.dll zuvor von mir gespeichert wurde.
Bei korrekter eingabe erscheint eine Meldung "Richtig!!!".

Erlaubt sind sämtliche Methoden des Crackings außer dem Patchen.

Sprache: VB .Net
Coder: Isch
Packer/Binder: keiner (kostet nur Zeit und bringt nichts^^)

HF

Kleiner Tipp:
Sucht nicht nach dem Passwort im Plaintext in der Exe, denn wie gesagt - Es ist in der passwort.dll

Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 13:31   #2 (permalink)
 
Registriert seit: 14.06.07
Machine Leistung: Facit NTK
Machine eine Nachricht über ICQ schicken
Likes: 0
Standard

AES?l   

Code:
Public Sub Entschlüsseln_AES()
    Dim str7 As String = Me.FromBase64(Me.skey)
    Dim str5 As String = Me.FromBase64(Me.salt)
    Dim str6 As String = Me.FromBase64(Me.salt2)
    Dim sPassword As String = (str5 & str7 & str6)
    Dim sText As String = Me.DecryptData(sPassword, "passwort.dll")
    Dim str2 As String = Me.FromBase64(sText)
    Dim str3 As String = Me.FromBase64(str2)
    Dim s As String = Me.FromBase64(str3)
    Dim managed As New RijndaelManaged
    Dim count As Integer = &H10
    Dim str8 As String = Me.FromBase64(Me.skey2)
    Dim str11 As String = (str5 & str8 & str6)
    Dim provider As New MD5CryptoServiceProvider
    Dim buffer4 As Byte() = provider.ComputeHash(Encoding.UTF8.GetBytes(str11))
    provider.Clear
    Dim stream2 As New MemoryStream(Convert.FromBase64String(s))
    Dim buffer3 As Byte() = New Byte(&H10  - 1) {}
    stream2.Read(buffer3, 0, count)
    managed.IV = buffer3
    managed.Key = buffer4
    Dim stream As New CryptoStream(stream2, managed.CreateDecryptor, CryptoStreamMode.Read)
    Dim buffer As Byte() = New Byte(((CInt(stream2.Length) - count) + 1)  - 1) {}
    Dim num As Integer = stream.Read(buffer, 0, buffer.Length)
    s = Encoding.UTF8.GetString(buffer, 0, num)
    stream.Close
    managed.Clear
    Dim str As String = Me.FromBase64(s)
    If (Me.TextBox1.Text = str) Then
        MessageBox.Show("Richtig!!!")
    Else
        MessageBox.Show("Falsch!!!")
    End If
End Sub
Code:
Public Function DecryptData(ByVal sPassword As String, ByVal sFile As String) As String
    Dim str As String
    Dim managed As New RijndaelManaged
    Dim count As Integer = &H10
    Dim provider As New MD5CryptoServiceProvider
    Dim buffer4 As Byte() = provider.ComputeHash(Encoding.UTF8.GetBytes(sPassword))
    provider.Clear
    Dim stream2 As New MemoryStream(MyProject.Computer.FileSystem.ReadAllBytes(sFile))
    Dim buffer3 As Byte() = New Byte(&H10  - 1) {}
    stream2.Read(buffer3, 0, count)
    managed.IV = buffer3
    managed.Key = buffer4
    Dim stream As New CryptoStream(stream2, managed.CreateDecryptor, CryptoStreamMode.Read)
    Dim buffer As Byte() = New Byte(((CInt(stream2.Length) - count) + 1)  - 1) {}
    Dim num As Integer = stream.Read(buffer, 0, buffer.Length)
    Return Encoding.UTF8.GetString(buffer, 0, num)
    stream.Close
    managed.Clear
    Return str
End Function


soviel dazu
Machine ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.05.08, 13:39   #3 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

Sollte mal AES werden ist im mom aber Rijindael.

Aber verscuh doch mal das PW rauszubekommen :-D

Da du ja den Sourcecode quasi besitzt ka woher^^ sollte das ja ein leichtes werden.
Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 13:44   #4 (permalink)
 
Registriert seit: 07.03.08
90nop Leistung: Facit NTK
Likes: 0
Standard

Der besitzt jeder, dem du dein kompiliertes Programm gibst. Reflector lässt grüssen.

Und, btw, Rijindael = AES
90nop ist offline   Mit Zitat antworten
Alt 20.05.08, 13:47   #5 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

Nagut, dann packe ich mein nächstes Crackme lieber doch
Wenn Rijindael = AES dann versteh ich das Kommentar oben nicht... Naja
Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 14:10   #6 (permalink)
 
Registriert seit: 07.03.08
90nop Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Nagut, dann packe ich mein nächstes Crackme lieber doch
Irgendwelche Packer/Crypter da drüber zu lassen bringt auch nicht viel. Net Projekte sind nicht ganz so einfach zu schützen. Und ganz sicher ist sowie so nichts.(Jedenfalls, was dann auch noch praktikabel verwendet werden kann...)

Zitat:
Wenn Rijindael = AES dann versteh ich das Kommentar oben nicht... Naja
Den Kommentar. Wenn du da nicht mehr preisgibst was du nicht verstehst, wird man es dir auch nicht besser erklären können.
90nop ist offline   Mit Zitat antworten
Alt 20.05.08, 14:19   #7 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

Zitat:
AES?l
soviel dazu
Das verstehe ich nicht.
Mehr hat er ja nicht geschrieben...
Aber ist jetzt auch nicht so wichtig.
Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 14:24   #8 (permalink)
 
Registriert seit: 14.06.07
Machine Leistung: Facit NTK
Machine eine Nachricht über ICQ schicken
Likes: 0
Standard

Das sollte kein Kommentar sein, ich wusste nur nicht was ich an den Spoiler schreiben sollte

vor meinem Edit stand da "lol"
Machine ist offline   Mit Zitat antworten
Alt 20.05.08, 14:26   #9 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

was fandest du denn daran Lol wenn ich mal so fragen darf?
Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 14:33   #10 (permalink)
 
Registriert seit: 07.03.08
90nop Leistung: Facit NTK
Likes: 0
Standard

wahrscheinlich das hier:
Zitat:
Ich persönlich finde den Schutz doch hsehr anspruchsvoll, da viele Routinen miteinander kombiniert wurden.
90nop ist offline   Mit Zitat antworten
Alt 20.05.08, 14:37   #11 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

Achso...

Isser doch auch ^^
Überzeuge mich vom Gegenteil

Schau mal genauer hin dann , siehst du dass Entschlüsseln_AES nicht die einzige Routine ist, die das Passwort ermittelt.

Sind mindestens noch 3 Weitere

Gruß
Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 14:42   #12 (permalink)
 
Registriert seit: 07.03.08
90nop Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Sind mindestens noch 3 Weitere
Bevor ich jetzt weiter ins Detail gehe -> hol dir den Reflector (freeware), und schau dir dein "kompiliertes" Net Programm mal an. Das wird deinen Horizont diesbezüglich erhellen
90nop ist offline   Mit Zitat antworten
Alt 20.05.08, 14:45   #13 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

Hab ich schon gemacht.
Ich kann dir auch den kompletten Sourcecode schicken, dann siehste ganz genau was passiert. Villeicht könntest du mir auch sagen was ich eventuell ändern könnte.
Natürlich ist der Schutz nicht das Maß aller Dinge, aber für meinen ersten reicht das.
Bevor ich den Code hier uppe, würde ich gerne erfahren, ob diese Methodik sicher ist oder nicht.
Mad0xx ist offline   Mit Zitat antworten
Alt 20.05.08, 15:05   #14 (permalink)
 
Registriert seit: 14.06.07
Machine Leistung: Facit NTK
Machine eine Nachricht über ICQ schicken
Likes: 0
Standard

du brauchst den code nicht uppen. man kann ihn sich ja mit dem reflector ansehen. scheinbar hast dus noch nicht gemacht. ich hab nur n ausschnitt gepostet.

was du ändern könntest: nimm für sowas kein .NET

für solche sachen ist .NET nunmal nicht wirklich sicher.
Machine ist offline   Mit Zitat antworten
Alt 20.05.08, 15:24   #15 (permalink)
Themenstarter
 
Registriert seit: 08.02.08
Mad0xx Leistung: Facit NTK
Likes: 0
Standard

Ich würde doch gerne in .Net bleiben.
Was könnte ich denn ändern, um den Code auch in .Net sicherer zu machen.

Im mom läuft es so ab:

Das passwort wird

1. mit Base64 gecryptet
2. mit Rijindael (momentan MD5 + base64) bald mit SHA1 + base64.
Zu methode 2 wird ein 512 stelliger Key verwendet werlcher vorher 2 x mit base64 gecryptet wurde.
Und Zusätzlich dazu wird vor und nach dem passwort "salt" (jeweils 2 verschiedene) (auch 512 stellig und mit 2x base64 gecryptet hinzugefügt)
3. Danach wird das ganze nochmal mit Base64 gecryptet
4. Und wieder mit Rijindael 2 veschiedene "salts" und wieder ein Key nach obigem Schema nur andere Zeichenfolge.
5. wird das ganze zur verwirrung wieder 3 mal mit base64 gecryptet.


Unknackbar ist das sicher nicht aber es kostet Zeit und zerrt an den nerven.
Mein Fehler hier war wohl dass ich das ganze nicht gepackt habe und man somt genau sehen kann was wann passiert.

Meine Frage dazu wäre jetzt ist diese villeicht unsinnige und chaotische methodik nutzbar oder kann man es besser bzw anders machen?

Gruß
Mad0xx
Mad0xx ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » Ultimate CrackMe .net 2.0
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
Vista Ultimate 64 bit Formatieren Whesker. Downloads 10 11.05.09 18:24
Vista Ultimate 64bit auf 32bit downgraden ? möglich ? g.stylez Windows Vista 5 26.10.08 23:45
Vista Ultimate kann auf Netzwerkressource nicht zugreifen, bitte Hilfe elite-noob Windows Vista 4 09.05.08 08:10
Ultimate Cleaner H4xOr Virenschutz · Tools & Aggressive Software 4 27.02.08 17:40
deutsches Windows Vista Ultimate Sprachpaket KonT Windows Vista 1 13.06.07 17:46


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