[Visual Basic]HWID-Lock

05/23/2011 21:48 beatd0wn[]#1
Was mach braucht:
-Fortgeschrittene Grundlagen in Visual Basic
-Einen [Only registered and activated users can see links. Click Here To Register...] account
-Ein fetiges Programm, welches man schützen möchte

Vorweg, ich poste hier keinen C&P-Fertigen Code. Wenn ihr mit dem was da steht nicht klar kommt, solltet ihr mit was einfacherem anfagen.

Was ist ein HWID-Lock?
HWID steht für "Hardware-ID", hierbei handelt es sich im eine individuelle "Kennnummer" von einer Hardware. Da diese von PC zu PC verschieden ist, eignet sie sich perfekt um sein Programm vor Leechern zu schützen.

Das Prinzip eines HWID-Schlosses ist sehr simpel: Jeder, der das Programm benutzen möchte, gibt seine HWID an den Administrator weiter, dieser läd den String in Form eines Textdokumentes auf einen Server, dass Programm überprüft ob sich die Hardware-ID in dem besagtem Dokument befindet. Falls ja, wird das Programm ausgeführt, falls nein eben nicht.

Kommen wir zum ersten Schritt:
Man fügt eine Form mit 2 Buttons zu seinem fertigen Projekt hinzu, welche als Startform werwendet werden "muss". In meinem Falle sieht sie so aus:
[Only registered and activated users can see links. Click Here To Register...]

Der Button "Get HWID" ermittelt die Hardware-ID des Prozessors und der der "Login" Button überprüft, ob sich diese auf dem Server befindet.
Damit alles funktioniert muss als erstes "System.Management" als Verweiß hinzugefügt und dann in die Klasse der Log-In Form importiert werden.

Dieser Code ermittelt die HWID des Prozessors, ich denke das ist soweit selbstverständlich.
Code:
 Dim cpuInfo As String = String.Empty
  Dim mc As New ManagementClass("win32_processor")
  Dim moc As ManagementObjectCollection = mc.GetInstances()

  For Each mo As ManagementObject In moc
    If cpuInfo = "" Then
    cpuInfo = mo.Properties("processorID").Value.ToString()
    Exit For
    End If
  Next
Nach dem wir diesen Code ausgeführt haben, schreiben wird erstmal unsere eigene HWID in ein Textdocument und laden es auf den Fileave server. Dieser Snippet steht bei mir in im "Get hwid" Button...
Die überprüfung ist relativ simpel:
Code:
Dim wc3 As New System.Net.WebClient
  Dim http3 As String = wc3.DownloadString("http://youracc.fileave.com/hwid.txt")

  If http3.Contains(cpuInfo) Then
    'HWID ist auf dem Server
  Else
    'HWID ist nicht auf dem Server
  End If
Und schon ist das HWID-Lock fertig :)
Vergesst nicht ""http://youracc.fileave.com/hwid.txt" durch euren account zu ersetzen. Btw, in dem hwid.txt können alles ID's gespeichert werden...
Ich hoffe das war alles einigermaßen verständlich. Fühlt euch frei Kritik/Lob anzubringen :)

Video Credits to Future Trance
05/26/2011 10:15 sava#2
Wow, wie unsicher. Keine Verschlüsselung usw...
05/27/2011 18:34 beatd0wn[]#3
Wie gesagt sind halt nur die basics...
05/28/2011 14:12 GotDamned#4
Ja, aber trotzdem.
Eine einfache Verschlüsselung würde ja schon reichen, das gehört imo auch zu den Basics.

Um seine Programme wirklich zu schützen sollte man einen eigenen Server haben, wo eine Datenbank mit den HWID's liegt.
Der Server bekommt die Anfrage, schaut in der Datenbank nach und gibt dann eine Antwort.
Vor allem ließe sich das viel besser verschlüsseln.

Wenn man diese Methode verwenden will, dann sollte man zmd sehen, dass der Quellcode gut geschützt ist (Und dafür gibt es auch genug Möglichkeiten.)
06/06/2011 19:12 coladose#5
Joar.. Da ich mal wieder (wie so oft :P) Langeweile hatte, habe ich mal eben nen Video dazu gemacht.
Vielleicht hilft es ja ;)


MFG
FT
06/15/2011 19:58 Lеlouch#6
edit: geklärt.
11/10/2011 16:17 .exTremez™#7
Es ist ja nicht so, dass man mithilfe der hosts datei die verbindung zu der .txt auf seinen localhost umleiten kann(Wo eine vorgefertigte textdatei liegt mit der eigenen hwid drinne), und so einfach diese protection umgehen kann :P
11/10/2011 16:23 Kraizy​#8
Quote:
Originally Posted by .exTremez™ View Post
Es ist ja nicht so, dass man mithilfe der hosts datei die verbindung zu der .txt auf seinen localhost umleiten kann(Wo eine vorgefertigte textdatei liegt mit der eigenen hwid drinne), und so einfach diese protection umgehen kann :P
Hat sich das nun gelohnt, ein so altes Thema auszugraben?
11/10/2011 16:38 .exTremez™#9
Habe nicht auf das Datum geschaut sry, habe mir lediglich die Posts durchgelesen
11/10/2011 22:03 Teddy™#10
Quote:
Originally Posted by coladose View Post
Joar.. Da ich mal wieder (wie so oft :P) Langeweile hatte, habe ich mal eben nen Video dazu gemacht.
Vielleicht hilft es ja ;)

[Only registered and activated users can see links. Click Here To Register...]

MFG
FT
1 Sache ist in dem Tutorial schlecht gemacht für totale Newbies.

Sonst finde ich das Vid TuT Super.

Lg.