Schutzmaßnahmen für Anwednungen/Programme

WorldRacer

Erfahrenes Mitglied
Hallo zusammen,

da ich momentan ein etwas größeres und kommerzielles Projekt betreibe, habe ich mir überlegt, wie ich mein Programm schützen kann.

1. Das Programm soll auf Shareware-Basis arbeiten:
Wie realisiere ich eine möglichst unknackbare Art und Weise, eine Zeitbeschränkung in mein Programm zu bauen.​

2. Wie realisiere ich ein Key-System um Lizenzkeys im Programm zu verwenden?

3. Welche Schutzmaßnahmen gibt es noch?

Hoffe ihr könnt mir helfen, meine Projekte vor "Raub'n'Klau" möglichst gut (ich weiß, es geht nicht zu 100%) zu schützen. Für Vorschläge und Anregungen anderweitig bin ich gerne offen.

Vielen Dank im voraus!

WR
 
Keiner eine Idee? Ich schubs nicht gern hoch, aber das Thema ist wirklich sehr wichtig für mich. Ich habe diesmal auch keine Dirty-Solution-Idee xD

Ist ja auch was für andere hier.

Nebenfrage: Bin ich hier damit überhaupt im richtigen Forum gelandet?
 
Hi.

Punkt 1 und 2 kannst zusammenfassen. :) Der Schlüssel beinhaltet dann einfach eine Angabe wie lang er gültig ist.

Ein solches Lizenzkeysystem würde ich einkaufen. Dürfte dir Zeit und Nerven sparen.

Zum Beispiel:
.NET Licensing Pro (ab ~75 USD)
DeployLX Licensing 3.x (ab 99 USD - bei der Feature Matrix sind die Preise zu hoch angegeben. Nicht verwirren lassen.)

Dabei immer auf die Features und Anforderungen achten, damit du nicht Geld für etwas ausgibst, dass dann nicht funktioniert. :)

lg,..

p.s.: Solche Systeme dürfts noch einige mehr geben. Die beiden hab ich in der Vergangenheit irgendwo mal bemerkt, und deswegen als Beispiel herangezogen. Konkrete Aussagen zu den beiden kann ich nicht abgeben.
 
Hi,

Dankeschön schonmal für deine Antwort

Ja, einen Key kann ich mir schonmal selbst basteln...nur meine Frage ist jetzt: Wenn einer die Shareware runtergeladen und installiert hab:

Wie regel ich das, dass der Benutzer das Programm nicht deinstalliert und wieder installiert und es dann nicht wieder benutzen kann?
 
Einfach mal rumgesponnen:

Du könntest den Key online erzeugen lassen. Mit nem kleinen Tool über nen WebService lässt du dir z.B. ein paar Daten vom rechner schicken auf dem es installiert ist, erstellst daraus einen Key mit dem du dann das Gültig-Bis Datum verschlüsselst. Auf dem Server merkst du dir den Key und wenn das nächste mal die gleiche Konfiguration kommt, sagst du: "Ne, du hast schon"

Das könnte dir dabei helfen: http://www.codeproject.com/KB/system/GetHardwareInformation.aspx

btw: Sieh auch zu das du deinen Code eingermaßen Reflector-Sicher machst, nicht das sich jemand einfach anschaut wie du das handelst, es analysiert und dann nen Key "rückwärts" erstellt...
 
Verstecke im Key die Information, dass es sich um einen "Demo-Schlüssel" handelt, und zusätzlich ein Ablaufdatum. Zusätzlich den Schlüssel an einen Namen oder eine E-Mail Adresse binden.

(Oder kauf dir eines der Systeme.. die können das alles *g*)
 
Geht das auch irgendwie ohne Serverzugriffe?
Weil ich möchte so wenig wie möglich auf Datenbanken auf dem Server zugreifen.

Ich hab leider kein Geld für sowas, bin noch Schüler ud möchte selber noch ein "paar Mark verdienen"...
 
Wenn du wirklich Geld mit dem Programm verdienen wirst, sind knapp 60 Euro doch durchaus in eine solche Komponente investierbar, oder?
Aber klar, will dir nichts aufschwatzen. :)

Denken wir das ganze nochmal durch.

Dein Schlüssel sollte 3 Informationen beinhalten:
- Ist es ein Schlüssel für eine Demo (Damit du uU den Funktionsumfang einschränken kannst)
- Wann läuft der Schlüssel ab. (Für die Demo..)
- Auf welchen Name wurde er ausgestellt.

Für den Namen bräuchtest nur eine Checksumme. Bei deinem Formular zur Eingabe des Schlüssels muss der Benutzer dann den Namen selbst angeben. Dann wird nur die Checksum verglichen, und fertig.

Um eine Hardwarebindung zu erreichen, könnte deine Software einen Hardwarekey generieren, welcher bei der Anforderung eines Schlüssels angegeben werden muss.

Den Tipp von M4st3r solltest auch berücksichtigen, und deine Assemblies auch signieren.
 
"...und schon nimmt das Projekt Dimensionen an, mit denen keiner rechnen konnte" - das war gerade mein Gedanke als ich gelesen habe "paar Mark verdienen"

Wenn du nicht willst das "Uninstall-Install-Geht wieder" geht, dann musst du dir irgendwo ne Info hinterlegen das das Prog schonmal installiert war (z.B. Registry). Problem: Wenn der Rechner platt gemacht wird gehts auch wieder... Ich denke aber, vor allem im Sinne des Auftraggebers, wenn er will, dass sein Programm gekauft wird und nicht bis in die Unendlichkeit im Testmodus läuft, kann er auch ein paar Euro in nen kleinen KeyGen-Server investieren.
 
Das mit der Registry ist ne gute Idee, hab mir das auch schon so irgendwie gedacht..xD

Das mit dem Kiste Plattmachen ist mir klar. 100% sicher bekommt man ein Programm nie.
 
Zurück