PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serial/Key Abfrage...



Couchnudel
04.11.2010, 16:38
Hallo,

wie kann man so wie bei anderen Programmen eine Serialabfrage machen?

Also ich meine das so: Man startet das Programm dann kommt Registrieungsanfrage wurde gesendet. Da werden dann PC-Name und HDD-ID mitgesendet.
Evtl. will ich dann n Serial generieren und an das Programm zurücksenden.

Oder wenn das nicht geht bzw. zu umständlich ist, dann würde ich das folgendermaßen machen wollen:

Man startet das Programm dann kommt Registrieungsanfrage wurde gesendet. Da werden dann PC-Name und HDD-ID mitgesendet.
Dann muss ich entweder der Registrierung zustimmen oder ablehnen.
Je nach dem was ich dann wähle soll das Programm funktionieren oder nicht.

Hoffe es ist klar was ich meine. Wie kann man so etwas realisieren ?

ps: wie ich an diee hdd-id und pcname komme habe ich schon gelöst.
Nur hier bei kenn ich mich überhaupt nicht aus.

MfG,
Couchnudel

blackberry
04.11.2010, 16:51
Wenn du wirklich auf Sicherheit aus bist, dann wird dir sowas nicht helfen... da lachen Reverser drüber, weil man sich da noch nicht mal die Mühe machen muss die entsprechenden Stellen im Programm zu finden, die für die Prüfung zuständig sind und einfach den Registrierungsserver emuliert und via Host-Datei als den eigentlichen Server ausgibt.

Solltest du das aber immernoch machen wollen, dann stell eine konkrete Frage - fertige Codes bekommst du hier nicht.
Am leichtesten wäre es wohl einen Webserver mit Datenbank zu nutzen, die HWID und den PC-Namen an ein PHP Skript zu senden und das gleicht diese Daten dann mit denen in der DB ab und gibt dann als Ausgabe auf der Webseite eben 1, oder 0 zurück - abhängig davon, ob die HWID bekannt ist.
Vorteil ist halt der, dass man dafür keinen extra Server schreiben muss, der auf Registrierungsprüfungen wartet, sondern gleich einen Webserver nutzen kann. Damit klappt das dann auch bei Freehostern.
Die Kehrseite der Medallia ist allerdings das oben beschriebene Problem, dass so ein "Schutz" kein Schutz ist.

Couchnudel
04.11.2010, 16:59
Am leichtesten wäre es wohl einen Webserver mit Datenbank zu nutzen, die HWID und den PC-Namen an ein PHP Skript zu senden und das gleicht diese Daten dann mit denen in der DB ab und gibt dann als Ausgabe auf der Webseite eben 1, oder 0 zurück - abhängig davon, ob die HWID bekannt ist.


Danke für die Erklärung. Es soll ja kein Programm werden, das verkauft werden soll auch kein Prog für die szene oder so was, das ganze ist nur ein kleines Projekt von mir, will halt nur wissen wer mein prog nutzt mittels pcname und HWID.

Also ich will genau das machen, wie du es Beschrieben hast, da ich mich bisher mit so etwas noch nicht beschäftigt habe ist meine Frage wie kann ich sowas machen? Brauch ich dafür eine sql db oder so was?

Habe mich damit bisher noch nicht beschäftigt und bin für jede hilfe dankbar.

blackberry
04.11.2010, 17:15
Wenn es wirklich nur das sein soll, dann musst du ja nur mit deinem C/C++ Programm eine Anfrage an den Webserver senden, auf dem sich dein Skript befindet und die Antwort auslesen (und dann eben entsprechend der Antwort handeln).
Wie genau du das anstellst ist natürlich dir überlassen - WinSock wäre definitiv ein Stichwort, wenn du nicht gerade mit dem .NET Framework arbeitest. Im Falle von .NET wäre WebRequest wohl ein entsprechendes Stichwort.

Auf der Seite des Webservers muss dann nur die Prüfung stattfinden. Wo allerdings die Daten herkommen ist dabei dir überlassen - das kann aus einer MySQL Datenbank sein, aus einer SQLite Datenbank, aus einer einfachen Textdatei, in der die entsprechenden IDs mit Zeilenumbrüchen getrennt sind, oder, oder, oder.

Dabei würde auch schon so ein minimalistisches Skript ausreichen:

<?php
isset($_GET['hwid']) or die("0");
echo (int) in_array($_GET['hwid'], file("hwids.txt", FILE_IGNORE_NEW_LINES));
?>
Dieses nimmt einen GET-Parameter "hwid" (im URL: http://.../.../checkhwid.php?hwid=BLAH) und schaut, ob dieser in der Liste "hwids.txt" drin ist und gibt dann eben entsprechend 0, oder 1 aus.