So da es wohl einige Interessiert mache ich mal ein Kleines Tutorial oder eine FAQ dazu.
Es ist mein Erstes Tut hier also seit nicht Zu hart mit mir
Erstmal Die Wichtigsten Fragen)
F.)Was ist HWID und warum Wird es Benutzt?
A.)HWID Bedeuted Hardware ID ,dies ist eine Einmalige ID aus bestimmten Hardware Komponenten eures PC´s
Es wird Benutz Um ein Programm das ihr zb Kommerziell nutzen wollt zu schützen so das es nur auf dem Pc des Käufers ausgeführt werden kann.
F.)Offline? Online? was hat das zu Bedeuten?
A.)Man kann die HWID entweder Offline Prüfen (es wird Praktisch Hardcodet in die Source eingefügt),oder Online Per txt,phpscript (Auf FTP) oder mysql Datenbank (es wird Logischerweise eine internet verbindung des Käufers Benötigt)
Ich habe für euch Ein Beispiel Projekt erstellt wo es Um offline und online Überprüfung geht,dort wird jedoch nur die CPUID benutzt und bei der Online Prüfung wird nur eine txt benutzt (dies ist sehr unsicher aber um das grund Prinzip zu verstehen Reicht es).
DownloadProjekt
HWIDSAMPLEEs ist mein Erstes Tut hier also seit nicht Zu hart mit mir
Erstmal Die Wichtigsten Fragen)
F.)Was ist HWID und warum Wird es Benutzt?
A.)HWID Bedeuted Hardware ID ,dies ist eine Einmalige ID aus bestimmten Hardware Komponenten eures PC´s
Es wird Benutz Um ein Programm das ihr zb Kommerziell nutzen wollt zu schützen so das es nur auf dem Pc des Käufers ausgeführt werden kann.
F.)Offline? Online? was hat das zu Bedeuten?
A.)Man kann die HWID entweder Offline Prüfen (es wird Praktisch Hardcodet in die Source eingefügt),oder Online Per txt,phpscript (Auf FTP) oder mysql Datenbank (es wird Logischerweise eine internet verbindung des Käufers Benötigt)
Ich habe für euch Ein Beispiel Projekt erstellt wo es Um offline und online Überprüfung geht,dort wird jedoch nur die CPUID benutzt und bei der Online Prüfung wird nur eine txt benutzt (dies ist sehr unsicher aber um das grund Prinzip zu verstehen Reicht es).
DownloadProjekt
Hier nochmal In text Form
Zuerst 2 Imports
Offline Check
Die Function um die CPUID auszilesen
VB.NET-Quellcode
- Friend Function ProcessorId() As String
- Dim strProcessor As String = String.Empty
- Dim query As New SelectQuery("Win32_processor")
- Dim search As New ManagementObjectSearcher(query)
- Dim info As ManagementObject
- For Each info In search.Get()
- strProcessor = info("processorId").ToString()
- Next
- Return strProcessor
- End Function
Die Offline Check Methode
VB.NET-Quellcode
- Public Function HWIDOfflineCHECK()
- Dim HWID As String = ProcessorId()
- If HWID = "HIER DIE HWID DES KUNDEN" Then 'WEnn ihr eine Oflline abfrage macht ,Müsst ihr für Jeden Kunden die HWID hier eintragen
- MsgBox("Vielen Dank das sie sich Für Mein Programm Enstschieden haben") ' mir ist da grad nix besseres eingefallen ^^ ihr könnt aber die msgbox bei richtiger hwid weglassen ;)
- Else
- MsgBox("Nicht Erlaubter Zugriff")
- Application.Exit()
- End If
- End Function
Die Online Check Methode
VB.NET-Quellcode
- Public Function HWIDOnlineCHECK()
- Dim HWID As String = String.Empty
- Dim check As New ManagementClass("win32_processor")
- Dim managment As ManagementObjectCollection = check.GetInstances()
- For Each mo As ManagementObject In managment
- If HWID = "" Then
- HWID = mo.Properties("processorID").Value.ToString()
- Exit For
- End If
- Next
- Dim schutz As String
- schutz = HWID
- Dim webb As New WebClient
- Dim strings As String
- Try
- strings = webb.DownloadString("Hier euer ftp server mit dem link zur HWID.txt")
- webb.Dispose()
- If strings.Contains(schutz) Then
- Else
- MessageBox.Show("Nicht Erlaubter Zugriff! #1")
- Application.Exit()
- End If
- Catch
- MessageBox.Show("Nicht Erlaubter Zugriff! #2")
- Application.Exit()
- End Try
- End Function
Der Form_load
Ihr Könnt um Die HWID auszulesen Diesen Code Benutzen :
Gebraucht Wird: Eine textbox ,ein Button und dieser Code
VB.NET-Quellcode
- Friend Function GetProcessorId() As String
- Dim strProcessorId As String = String.Empty
- Dim query As New SelectQuery("Win32_processor")
- Dim search As New ManagementObjectSearcher(query)
- Dim info As ManagementObject
- For Each info In search.Get()
- strProcessorId = info("processorId").ToString()
- Next
- Return strProcessorId
- End Function
Ihr ruft das ganze mit dem Button auf
Wichtig ist auch das Ihr nicht "Nur" die CPUID benutzt sondern Eine mischung aus Verschiedenen Festen Werten wie zb der CPU ,Mainboard,Grafikkarte das könnt ihr dann noch in einen Hash oder per Rc4 verschlüsseln.
Bei Fragen/Anregungen ,Postet es einfach hier
Viel Spaß beim Basteln
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „politoxy“ ()