|
You last visited: Today at 02:50
Advertisement
[c#]hwid
Discussion on [c#]hwid within the .NET Languages forum part of the Coders Den category.
01/13/2013, 21:16
|
#1
|
elite*gold: 0
Join Date: Oct 2007
Posts: 1,594
Received Thanks: 119
|
[c#]hwid
ich möchte gerne die hwid auslesen lassen,
habe bisher etwas gefunden:
Code:
ManagementObjectCollection mbsList = null;
ManagementObjectSearcher mbs = new ManagementObjectSearcher("Select * From Win32_processor");
mbsList = mbs.Get();
string id="";
foreach (ManagementObject mo in mbsList)
{
id = mo["ProcessorID"].ToString();
}
damit bekomme ich aber nur die prozessorid raus:
in meinem fall:
XXXXXBFF000206A7
wenn ich jetzt aber zb. an einen ersteller eines programmes meine hwid senden muss, sieht diese so aus:
XXXXXBFF000206A7XXXXXXXXXXXXXXXX-XXXXXXXXXX
habs mal verfällscht...
wie bekomme dich die volle hwid raus, bzw aus was setzt sie sich zusammen?
|
|
|
01/13/2013, 21:53
|
#2
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
es gibt keine "volle hwid"
jeder programmierer kann sicher selber was aussuchen was er nimmt zum auslesen, das ist ja das schöne am programmieren
|
|
|
01/14/2013, 15:05
|
#3
|
elite*gold: 106
Join Date: Jun 2010
Posts: 2,256
Received Thanks: 3,867
|
für gewöhnlich hashd man die Prozessor ID in md5.
Deswegen wird es auch dementsprechend länger..
|
|
|
01/14/2013, 15:26
|
#4
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Niemals nur die ProzessorID hashen....Dann können hinterher 30 Leute den nutzen, weil sie einen prozessor aus der selben serie haben...
man nimmt eig bios,mainboard und prozessor und nimmt den sha1 hash
|
|
|
01/14/2013, 17:15
|
#5
|
elite*gold: 10
Join Date: Aug 2012
Posts: 813
Received Thanks: 106
|
Quote:
Originally Posted by 'Heaven.
Niemals nur die ProzessorID hashen....Dann können hinterher 30 Leute den nutzen, weil sie einen prozessor aus der selben serie haben...
man nimmt eig bios,mainboard und prozessor und nimmt den sha1 hash
|
1) Was meinst du mit Bios?
2) Wie kannst du das Bios auslesen?
3) Was meinst du mit Mainboard?
4) Wie kannst du das Mainboard auslesen?
Ja, ich weiß, was das Bios und ein Mainboard ist, aber was davon willst du verwenden und wie kommst du an diese Infos?
(Bessere Erklärung zu solchen Sachen währe gut, da diese Dinge nicht nur 1 Info enthalten bzw. besitzen, sondern mehrere)
|
|
|
01/14/2013, 18:57
|
#6
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Code:
Public Function GetHWID() As String
Dim stringBuilder As StringBuilder = New StringBuilder()
Try
Dim managementObjectSearcher As ManagementObjectSearcher = New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_BIOS")
For Each managementObject As ManagementObject In managementObjectSearcher.Get()
stringBuilder.Append(managementObject("SerialNumber"))
NextCatch (managementException1 As ManagementException)
Dim managementException As ManagementException = managementException1
Console.WriteLine(String.Concat("An error occurred while querying for WMI data: ", managementException.Message))
End Try
Try
Dim managementObjectSearcher1 As ManagementObjectSearcher = New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_OperatingSystem")
For Each managementObject1 As ManagementObject In managementObjectSearcher1.Get()
stringBuilder.Append(managementObject1("SerialNumber"))
NextCatch (managementException3 As ManagementException)
Dim managementException2 As ManagementException = managementException3
Console.WriteLine(String.Concat("An error occurred while querying for WMI data: ", managementException2.Message))
End Try
Dim sHA256CryptoServiceProvider As HashAlgorithm = New SHA256CryptoServiceProvider()
sHA256CryptoServiceProvider.Initialize()
Dim numArray As Byte() = sHA256CryptoServiceProvider.ComputeHash(Encoding.Unicode.GetBytes(stringBuilder.ToString()))
Dim str As String = BitConverter.ToString(numArray)
str = str.Replace("-", String.Empty)
str = str.ToLower()
Return str
End Function
|
|
|
01/14/2013, 18:58
|
#7
|
elite*gold: 0
Join Date: Apr 2010
Posts: 10,289
Received Thanks: 3,613
|
Code:
Private Function getHWID() As String
Return MD5CalcString(GetProcessorId() + "-" + GetVolumeSerial() + "-" + GetMotherBoardID())
End Function
Private Function MD5CalcString(ByVal strData As String) As String
Dim objMD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim arrData() As Byte
Dim arrHash() As Byte
arrData = System.Text.Encoding.UTF8.GetBytes(strData)
arrHash = objMD5.ComputeHash(arrData)
objMD5 = Nothing
Return ByteArrayToString(arrHash)
End Function
Private Function ByteArrayToString(ByVal arrInput() As Byte) As String
Dim strOutput As New System.Text.StringBuilder(arrInput.Length)
For i As Integer = 0 To arrInput.Length - 1
strOutput.Append(arrInput(i).ToString("X2"))
Next
Return strOutput.ToString().ToLower
End Function
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
Friend Function GetVolumeSerial(Optional ByVal strDriveLetter As String = "C") As String
Dim disk As ManagementObject = New ManagementObject(String.Format("win32_logicaldisk.deviceid=""{0}:""", strDriveLetter))
disk.Get()
Return disk("VolumeSerialNumber").ToString()
End Function
Friend Function GetMotherBoardID() As String
Dim strMotherBoardID As String = String.Empty
Dim query As New SelectQuery("Win32_BaseBoard")
Dim search As New ManagementObjectSearcher(query)
Dim info As ManagementObject
For Each info In search.Get()
strMotherBoardID = info("SerialNumber").ToString()
Next
Return strMotherBoardID
End Function
Ist VB, hier ein Converter:
Edit: Hmm da war wer schneller.
Lg Shawak
|
|
|
01/14/2013, 19:06
|
#8
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
BTW, wenn du nicht möchtest, dass nach einer neuinstallation von windoof die lizenznichtmehr geht nutz die MAC(von shawak) wenn nicht lass die weg
|
|
|
01/14/2013, 21:47
|
#9
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
mac nutzen ist in vielerlei hinsicht sehr suboptimal, zb. ich hab an meinem pc zwei ethernet ports und nutze manchmal noch nen wlan stick, dann könnte ich die software nur nutzen wenn ich den netzwerkadapter nutze den ich bei der installtion verwendet hab
@heaven, die mac adresse ist idr hardcoded, jedoch kann die mac adresse wirklich mit leichtigkeit und ohne vorkenntnis gespoofed werden
|
|
|
01/14/2013, 22:23
|
#10
|
elite*gold: 0
Join Date: Apr 2010
Posts: 10,289
Received Thanks: 3,613
|
Quote:
Originally Posted by tolio
mac nutzen ist in vielerlei hinsicht sehr suboptimal, zb. ich hab an meinem pc zwei ethernet ports und nutze manchmal noch nen wlan stick, dann könnte ich die software nur nutzen wenn ich den netzwerkadapter nutze den ich bei der installtion verwendet hab
@heaven, die mac adresse ist idr hardcoded, jedoch kann die mac adresse wirklich mit leichtigkeit und ohne vorkenntnis gespoofed werden
|
Mein Fehler, nutze das Snippet selber nicht und es ist auch schon etwas älter, wäre mir gar nicht aufgefallen.
Danke ich werde es editieren.
|
|
|
Similar Threads
|
HWID Generator & Dev-Tools für e*pvp's HWID System
01/28/2011 - Main - 0 Replies
Hier die Downloads passend zum News-Thread, da das Attachen von Daten an News-Threads nicht möglich ist ;)
News-Thread:
http://www.elitepvpers.com/forum/e-pvp-news-de/981 343-hwid-system-f-r-entwickler.html
Credits für den 2. Generator gehen an Anfang!
Lg,
Ende!
|
All times are GMT +1. The time now is 02:51.
|
|