Einzelnen Beitrag anzeigen

Benutzerbild von Lemmy1
Lemmy1

Registriert seit: 28. Nov 2004
Ort: Ismaning
184 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Testversion eines Programms schützen?

  Alt 21. Mai 2006, 19:36
Zu der Fragen zwecks Net/C#:
Ich verwende bei einem Kunden für .Net das Infralution Licensing System (ILS), zu haben bei hier.

Vorteil an dem System ist der sehr niedrige Preis und die leichte Verwendung. Außerdem kann man über einen benutzerdefinierten Text BELIEBIGE Informationen in einem Key hinterlegen, der via RSA signiert also "quasi" nicht zu knacken ist (sofern die Jungs einen guten Job gemacht haben). Beim Kauf gibt es auch den Quellcode in C# und VB.Net, so dass man die Sourcen direkt ohne extra Dll einbinden kann.

Nun zu den Nachteilen: Da es sich "nur" um eine API, die Keys generiert und validiert, wird das Programm nicht per-se sicher. Auch wenn ich den Aufwand für nicht vertretbar halte, Keys zu faken (sprich: Key-Generatoren zu schreiben), so liegt es eben in der Natur von DotNet Programmen, dass ein solcher Schutz sehr einfach auszuhebeln ist, wenn man die Exen/Dlls modifiziert.

Schutz gegen sowas kann man erreichen via Obfuscierung oder Exepackern. Aber der Effekt dürfte am Ende bescheiden sein.

Delphi:

Da ich in meiner eigenen Firma die Programme aber lieber mit Delphi Win32 programmier, hab ich dort eine andere Lösung: Via einer eigenen RSA/Hash/Verwaltung Library werden auf einem ASP.Net Webserver (Delphi.Net) automatisch Keys generiert. Die Logik dazu wird von dem Reseller ShareIt angestoßen. Die Win32 Anwendung validiert die Keys dann, da die EncodingLib auch dort kompiliert. Wenn der Key gültig ist, enthält er den Namen des Kunden, seine Adresse etc, die ich dann im About anzeigen kann. Ohne gültigen Key ist die Speichern-Funktion deaktiviert.
Bei Interesse kann ich diese Libarary ja mal veröffentlichen....müsste aber vorher darin etwas aufräumen.

Vorteile des Systems: Kunden müssen nur einmal was runterladen und ich muss auch nur eine Version am Server pflegen.
Nachteile: Wenn auch bedeutend schwieriger als unter .Net, so ist es doch möglich, auch das auszuhebeln. Die Keys zu faken halte ich auch hier für rechnerisch sehr schwierig. Am Exe-Hacken hindert den gewillten "Hacker" mit viel Zeit aber nix.
Daniel
www.nemu.com - The N64 Emulator
  Mit Zitat antworten Zitat