Eindeutige Computer ID erzeugen - Kopierschutz

chris4712

Erfahrenes Mitglied
Hey!

Hab mal wieder außergewöhnliches vor:
Ich habe eine Browser basierte Anwendung geschrieben. Diese Anwendung ist bei einem Kunden lokal auf einem Webserver gespeichert.
Es soll verhindert werden dass dieser Kunde die Anwendung weiter gibt.

Kann man irgendwie eine eindeutige Computer ID erzeugen?
Stelle mir das so vor: Beim Start der Anwendung wird kontrolliert ob die ID des Computers der hinterlegten ID übereinstimmt.
Klar ist das nur ein kleiner Schutz. Wenn sich jemand damit beschäftigt oder gar in JavaScript auskennt kann er die Abfrage einfach raus nehmen, aber es wäre immerhin ein kleines Hindernis.

Grüße

Christian
 
Jeder Rechner hat eine HostId, die ist normalerweise einzigartig und wird z.B. für sogenannte Lizenzmanager verwendet, die Kopierschutz für Professionelle Anwendungen bereitstellen.
Unter Linux lässt sich diese mit dem Befehl hostid abrufen.
Dein Anwender muss also seine ID übermitteln, du verschlüsselst sie, vielleicht auch mit weiteren Angaben und generierst so ein Lizenzkey. Deine Anwendung muss dann in der Lage sein, die HostId abzufragen, zu verschlüsseln und mit dem Key zu vergleichen.
Das kannst du natürlich nicht machen, wenn du eine Skriptsprache wie PHP oder JS verwendest, Wenn deine Anwendung komplett aus Skripten besteht, gibt es keine sinnvolle Möglichkeit eine Weitergabe zu verhindern.
 
Jeder Rechner hat eine HostId
Das wäre es gewesen, aber wie du schon vermutest hast basiert alles auf PHP und JavaScripten.

Das ganze läuft lokal auf einem XAMPP Webserver.
Hat dieser nicht zufällig eine eindeutige ID die er an PHP Scripte weitergeben kann?

Käme ich an diese HostID irgendwie ran wenn ich ein Browser PlugIn schreiben / verwenden würde?

Viele Grüße und auf jeden Fall schon mal Danke für den Hinweis!
 
Naja, wenn du nur die HostID des Rechners haben willst, auf dem dein Webserver läuft, so kannst du in PHP die Shell ausführen und somit diesen Befehl. Somit würdest du an die HostID des Webservers kommen.
PHP:
$hostid = shell_exec('hostid');
 
Naja, wenn du nur die HostID des Rechners haben willst, auf dem dein Webserver läuft, so kannst du in PHP die Shell ausführen und somit diesen Befehl. Somit würdest du an die HostID des Webservers kommen.
PHP:
$hostid = shell_exec('hostid');

Naja, dann kann ich ja bei der Installation diese HostID hinterlegen.
Sollte der Kunde das Script weitergeben muss er ja bei der dritten Person einen neune Webserver installieren.
Wenn dieser dann ne andere HostID hat, wäre mein Problem gelöst.
Oder habe ich einen Denkfehler?
 
Das ganze läuft lokal auf einem XAMPP Webserver.
Hat dieser nicht zufällig eine eindeutige ID die er an PHP Scripte weitergeben kann?

XAMPP an sich nicht, aber man könnte doch auch per PHP an die HostID oder an andere Daten des Computer kommen.

einfach nur crack hat gesagt.:
PHP:
$hostid = shell_exec('hostid');
Das Problem daran ist, dass der PHP-Code leicht lesbar ist und man somit die Lizenzverfikation umgehen könnte.

Viel sicherer und ziemlich einfach möglich wäre es, eine PHP-Erweiterung in C zu schreiben.
 
PHP:
$hostid = 12345;

Also wenn es einer knacken will, dann ändert er einfach die Zeile/das Skript so ab und gibt den Wert ein den sein Vorbesitzer hatte!
 
Dass hört sich doch alles schon mal sehr vielversprechend an.
Dass es kein 100%iger Schutz ist, ist klar. Aber es soll zumindest die Sache erschweren. Vor allem weil der Kunde schon gefragt hat wie man das Ganze auf einen anderen Rechner umsiedeln kann...
 
Ds wird nichts werden. Nicht ohne Grund benutzt die ganze Online-Branche Cookies (ggf noch Fingerprint) um Nutzer zu identifizieren. Da wirst du wohl "mal eben" keine neue Lösung finden.
 

Neue Beiträge

Zurück