MySQL Hwid abfrage funktioniert nicht

04/24/2015 20:32 Elitethreadz#1
Hallo zusammen, ich programmiere für mein Projekt eine HWID sicherung, doch diese funktioniert nicht ganz.

Aus diesem tut:
[Only registered and activated users can see links. Click Here To Register...]

Ich arbeite zusammen mit einen php script, das auf meinen webhost liegt, dieses fragt eine Tabelle auf dem MySQL server ab.
Und wie generiere ich nun richtig den HWID Code zum testen? denn ich denke es liegt daran das ich immer die verschlüsselte HWID eintrage. Fehler?

Vb.net Code:
Code:
Imports System.Management
Imports System.Security.Cryptography, System.Text
Imports System.Net

Public Class Form1

Dim cpuid As String = ""
Dim mac As String = ""
Dim hwid As String = ""

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub

Private Function gethwid() As String
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()
Return cpuInfo
Exit For
End If
Next
End Function

Private Function GetMacAddress() As String
Dim mc As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As ManagementObjectCollection = mc.GetInstances()

For Each mo As ManagementObject In moc
If mo.Item("IPEnabled") Then
Return mo.Item("MacAddress").ToString()
End If
Next
End Function

Public Function MD5StringHash(ByVal strString As String) As String
Dim MD5 As New MD5CryptoServiceProvider
Dim Data As Byte()
Dim Result As Byte()
Dim Res As String = ""
Dim Tmp As String = ""

Data = Encoding.ASCII.GetBytes(strString)
Result = MD5.ComputeHash(Data)
For i As Integer = 0 To Result.Length - 1
Tmp = Hex(Result(i))
If Len(Tmp) = 1 Then Tmp = "0" & Tmp
Res += Tmp
Next
Return Res
End Function

Private Sub Ambiance_Toggle1_ToggledChanged() Handles Ambiance_Toggle1.ToggledChanged

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
cpuid = gethwid()

MsgBox (MD5StringHash(cpuid & mac & "KUNDE")

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
cpuid = gethwid()
mac = GetMacAddress()
hwid = MD5StringHash(cpuid & mac & "KUNDE")

Try

Dim client As WebClient = New WebClient()
Dim reply As String = client.DownloadString("http://WEBSITE.de/hwid.php?hwid=" & hwid)

If reply = hwid Then 'wenn HWID richtig ist
MsgBox("Erfolgreich") 'HWID Fenster verstecken

Else
MsgBox("HWID nicht gelistet!", MsgBoxStyle.Critical)

End If

Catch ex As Exception
MsgBox(ex.Message) 'wenn eine Fehler auftritt Fehler anzeigen und Programm beenden
Application.Exit()
End Try
End Sub
End Class
PHP Code:


<?php

$hwid 
mysql_real_escape_string($_GET['hwid']); //mysql escape Zeichen hinzufügen gegen sql injection

//$hwid ist die HWID vom Programm

$connectionid mysql_connect ("localhost""user""passwort"); //zur Datenbank verbinden



if (!mysql_select_db ("datenbankname"$connectionid)) //Datenbank auswählen und testen

{

die (
"Keine Verbindung zur Datenbank");

}



$user mysql_query("SELECT hwid FROM tabellenname WHERE hwid='".$hwid."' LIMIT 1") or die(mysql_error()); //wert auslesen, bei denen die HWID der entspricht die das Programm gesendet hat.



$verify mysql_num_rows($user); //die Zeilen Zählen entweder 1 oder 0

if($verify 0){ // Wenn es 1 oder mehr Zeilen sind die HWID wieder ausgeben

echo $hwid;

}else{

echo 
"NO"//Wenn es 0 Zeilen sind eine NO zurückgeben.

}

?>
04/24/2015 21:52 tolio#2
happy crossposting

----

es macht keinen sinn das das script die hwid wieder zurückgibt und dann programm nochmal überprüft wird, denn es reicht ja zu wissen ob der server die hwid kennt oder nicht. zusätzlich, auf sql ebene kannst du einfach count benutzen machts in der theorie nen bischen performanter

ansonst hab ich nichts gesehen, also die frage was passiert, an welcher stelle kommen beim debuggen welche ergebnisse und welche sollten kommen
04/25/2015 11:07 Elitethreadz#3
Quote:
Originally Posted by tolio View Post
happy crossposting

----

es macht keinen sinn das das script die hwid wieder zurückgibt und dann programm nochmal überprüft wird, denn es reicht ja zu wissen ob der server die hwid kennt oder nicht. zusätzlich, auf sql ebene kannst du einfach count benutzen machts in der theorie nen bischen performanter

ansonst hab ich nichts gesehen, also die frage was passiert, an welcher stelle kommen beim debuggen welche ergebnisse und welche sollten kommen

Hier:
Code:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
cpuid = gethwid()
mac = GetMacAddress()
hwid = MD5StringHash(cpuid & mac & "KUNDE")

Try

Dim client As WebClient = New WebClient()
Dim reply As String = client.DownloadString("http://WEBSITE.de/hwid.php?hwid=" & hwid)

If reply = hwid Then 'wenn HWID richtig ist
MsgBox("Erfolgreich") 'HWID Fenster verstecken

Else
MsgBox("HWID nicht gelistet!", MsgBoxStyle.Critical)

End If
Soll eigentlich die HWID durch die .php datei auf dem FTP überprüft werden, doch ich habe schon x varianten durch und bekomme immer die "else" HWID NICHT GELISTET.
04/25/2015 12:27 NotEnoughForYou#4
Schonmal geschaut was dir das php Script ausgibt?
04/25/2015 15:28 tolio#5
^this.

du musst den ganzen spaß schon debuggen um zu schauen an welcher stelle es nicht mehr hinhaut.
04/25/2015 19:40 Elitethreadz#6
Quote:
Originally Posted by NotEnoughForYou View Post
Schonmal geschaut was dir das php Script ausgibt?
Vom php script bekomme ich "No" , ich habe die befürchtung das ich meine HWID falsch in die DB eintrage, muss ich die HWID md5 verschlüsselt oder ohne eintragen?

Ich lasse mir so die HWID anzeigen:
TextBox1.Text = (MD5StringHash(cpuid & mac & "KUNDE"))
Und die trage ich dann in die zeile "HWID" in der MySQL Db.
Ist das so richtig?
04/25/2015 23:07 tolio#7
ich schreibs jetzt hier genau noch einmal rein:
debug den scheiß, wenn du doch merkst das es im php part nicht läuft dann such den fehler dort, überprüfe die variablen, rückgaben, etc; debuggen halt.

wenn du alles vorgekaut haben willst geh in de coders trading bereich und bezahl jemanden dafür

desweiteren werd ich jetzt hier nicht mehr helfen, leute die crossposten kotzen mich nämlich an
04/25/2015 23:20 Elitethreadz#8
Quote:
Originally Posted by tolio View Post
ich schreibs jetzt hier genau noch einmal rein:
debug den scheiß, wenn du doch merkst das es im php part nicht läuft dann such den fehler dort, überprüfe die variablen, rückgaben, etc; debuggen halt.

wenn du alles vorgekaut haben willst geh in de coders trading bereich und bezahl jemanden dafür

desweiteren werd ich jetzt hier nicht mehr helfen, leute die crossposten kotzen mich nämlich an
Habe schon mehrfach das php script verändert, doch ich komme auf keine Lösung dafür.

Das leute dich ankotzen ist nicht mein Problem? ;)

Habs hinbekommen. Danke für die "Hilfe"

#Requestclose