Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich moechte das mein Programm nur auf einem Rechner laeuft, quasie eine Lizenz fur nur einen Computer vergeben und wenn der Kunde dann zahlt fuer einen weiteren Computer die Lizenz erweitern
Programm wird in eine JAR-Datei gepackt und so angeboten.
Leider hat man uns so etwas waehrend der Lehre nicht beigebracht. Hat Java dies vorgesehen???:bahnhof: Jemand damit was zu tun gehabt?:bahnhof:
Vergiss es, du kannst einen Computer logischer weiße nie genau identifizieren.
Andererseits könntest du das per Server und Seriennummern lösen, so das wenigstens nur 1 Computer das Programm gleichzeitig mit der selben Lizenz verwenden kann. Natürlich kann es dadurch offline nicht mehr verwendet werden.
Und wie werden dann diesen ganzen Softwares die nur auf einem PC laufen geschrieben? z.B. das beruehmteste wird wohl Windows sein, welches nur auf einem PC laeuft? Jedes Spiel etc. ist mit diesem Schutzmechanismus versehen. Wie machen die das?:bahnhof:
Windows (zumindest XP) läuft auf jeden Computer. Ich kann meine Betriebsystemfestplatten beliebig zwischen den Rechnern austauschen, oder auf andere Festplatten kopieren. Spiele natürlich auch, woher soll das auch wissen, dass es auf einen anderen Rechner installiert wurde.
Windows (zumindest XP) läuft auf jeden Computer. Ich kann meine Betriebsystemfestplatten beliebig zwischen den Rechnern austauschen, oder auf andere Festplatten kopieren. Spiele natürlich auch, woher soll das auch wissen, dass es auf einen anderen Rechner installiert wurde.
Ja gut, das machst du so als Experte, aber Ottonormalverbraucher wird es wohl so nicht machen. Er wird es auf einem PC probieren, dort wird es gehen, dann probiert er die gleiche Software auf einem anderen PC zu installieren, dort wird es dann nicht gehen, oder?:bahnhof: Festplatte kopieren oder ausbauen und einbauen, davon haben die Meisten wohl keine Ahnung?! Aber wer weiss...
Du könntest dir z.b. per JNI/JNA beliebig viele Hardwareinformationen zu holen (Seriennummern von Hardwareteilen etc.) und dir daraus einen hashwert generieren lassen. Den knüpfst du dann an den Lizenzschlüssel deiner hardware.
Nachteil des ganzen: Ändert ein Benutzer etwas an seinem Rechner, tauscht z.b. hardware aus, läuft bei ihm nichts mehr. Denke der wäre da nicht so begeistert
Und ob das ganze den aufwand wert ist...
Du könntest dir z.b. per JNI/JNA beliebig viele Hardwareinformationen zu holen (Seriennummern von Hardwareteilen etc.) und dir daraus einen hashwert generieren lassen.
Also wenn du mir das erklaerst wie es mit JNI/JNA geht, wie man die Infos ausliest, der Rest wird wohl kein so grosses Problem fuer mich sein:noe: Ich werde dann sicherlicheine Loesung finden:autsch:
Google einfach mal nach JNI oder JNA, da findest du reichlich tutorials. allerdings brauchst du dann auch c kenntnisse um die entsprechenden dlls zu schreiben.
Generell sollte klar sein , dass soweas nur in zwei Möglichkeiten geht:
Entweder ist dauerhaft eine i-Net verbindung zum überprüfen da
Oder es ist eindeutig bestimmt wie der Rechner des Kunden ist, und der bekommt dann ein Kompilat das sich weigert in rechnern mit andere Hardware zu arbeiten.
mit JNI, wobei ich JNA eher empfehlen würde, brauchste eine native dll (oder vergleichbares auf anderen OS) mit der du gewünschte Informationen ausliest. Die kann in C oder sonst was geschrieben worden sein. Auf der JNA-Projektseite und in der Doku findet man eigentl. genug infos, damit man mit einer dll arbeiten kann.
Ansonstnen könntest du einen einfachereren Kopierschutz erstellen. Du könntest anschauen, was alles über System.getEnv und System.getProperty abfragbar ist, womit du einigermaßen den Rechner idendifzieren kannst um daraus einen Lizensschlüssel zu generieren.
------
oder du setzt eine einmalige internetverbindung vorraus. Wenn der Kunde sich registrieren will, prüfst du die daten auf dem Server und setzt werte in der Registry.
MAC kann man tauschen mit MAC-Changer unter Windows und unter Linux, wenn er das macht, kann er Programm nicht mehr verwenden, das ist nicht gut fuer ihn dann
man könnte vielleicht irgendwo auf dem Rechner eine spezielle datei "verstecken" die lizenzinformationen enthaelt, können auch mehrere Dateien sein (Registry in Win?). Zur Ablenkung kann man den Benutzer glauben lassen, dass die Überpruefung über das Internet abläuft... irgend ein "Fake"-Dialog ("Bitte warten... LizenzInformationen werden überprüft...")
MAC kann man tauschen mit MAC-Changer unter Windows und unter Linux, wenn er das macht, kann er Programm nicht mehr verwenden, das ist nicht gut fuer ihn dann
Und wenn die Netzwerkkarte den Geist aufgibt ebenfalls. Falls überhaupt eine installiert ist.
Aber ich bezweifel, dass irgend jemand überhaupt ein Programm kaufen würde, welches nur einmalig installiert werden kann. Dazu müsste es schon Krebs heilen können.