Software Kopierschutz



  • Hallo allerseits,

    nehmen wir an jemand ist bei einer Firma die eine Applikation vertreibt und soll nun in diese Applikation einen Kopierschutz einbauen. Es wurde an ein individuelles Lizenzfile im AppPath gedacht. Damit man nicht einfach das Programm mit der Lizenz auf einen anderen Computer verschiebt muß die Lizenz an den Computer gebunden sein. Außerdem muß die Lizenz verschlüsselt werden. Da wurde an einen Verschlüsselungsalgorighmus gedacht der A) selber und 😎 mit seinem KEY fest in die App kompiliert wird.

    Wie könnte man nun die Lizenz an den Computer binden?
    Teure/komplizierte/unhandliche Lösungen kommen nicht in frage:
    - Festplatten Serial: Kommt in Frage, Fälschung schwer möglich.
    - MAC Addresse: Kommt ev in Frage, aber leicht zu fälschen.
    - Dongle: Zu teuer.
    - CPU ID: Funktioniert nur auf Intel CPUs
    - WinlogIn/Domain: Ist zu leicht zu fälschen
    - WinSerial: Nutzer könnten bedenken haben diese an uns rauszugeben.

    Was könnte man da noch nehmen? Oder gibt es vielleicht noch einen weiteren guten Ansatz? Der Schutz soll nicht vor extremen Hacker schützen, aber Programmierern schon Schwierigkeiten bereiten.

    Unser Tool wird hauptsächlich im technischem Bereich eingesetzt. Da wird dann nur eine Lizenz gekauft und 10 mal installiert. So war es mit einigen Anwendungen (Office/WindowsXP/OracleSW/VisualStudio/...) bei Firmen bei denen ich vorher beschäftigt war.



  • LOl, wer solln den scheiss kaufen. Am ende kommen wir noch zu dem Punkt, wo man Lizenzen auf Zeit kaufen muss, also dass das prog nur 30 tage für 599 euro geht und man danach für 499 euro/monat es verlängern muss oder so

    vergiss es



  • ertertret schrieb:

    LOl, wer solln den scheiss kaufen. Am ende kommen wir noch zu dem Punkt, wo man Lizenzen auf Zeit kaufen muss, also dass das prog nur 30 tage für 599 euro geht und man danach für 499 euro/monat es verlängern muss oder so

    vergiss es

    😕 Wieso, bei größeren Applikationen läuft das doch schon immer so....

    Gruß,

    Simon2.



  • So ist es momentan schon! Die Leute kaufen die SW nur auf Zeit. Allerdings kannst Du beruhigt sein etwas zu verpassen wenn die SW geschützt würde, weil kein Privatanwender etwas damit anfnagen könnte...

    Wir können alle Firmen die weltweit für unser Produkt in Frage kommen auf einer DinA4 Seite aufzählen (<100). Wir verkaufen nicht an einen anonymen Kunden; wir entwickeln sogar intensiv mit einigen unsere SW. Unter diesen Bedingungen ist eine Lebenslang-Lizenz zu teuer. Keine Firma würde uns eine Lizenz abkaufen, schließlich weiß diese auch nicht wie lange sie noch unsere SW benötigt. Wir müssen unsere Lizenz nur so billig halten das unsere Kunden nicht auf die Idee kommen Ihre eigenen SW Abteilungen mit der Entwicklung zu beauftragen.

    Wenn wir vergleichen wieviel Lizenzen eine Firma kauft und diese Menge mit der Lizenzmenge einer Firma ähnlicher Größe vergleichen kommen wir auf die Idee das ein bessere Kopierschutz unseren Gewinn steigern könnte.

    Welche Möglichkeiten gibt es noch eine Lizenz an einen Computer zu binden?


  • Administrator

    Simon2 schrieb:

    😕 Wieso, bei größeren Applikationen läuft das doch schon immer so....

    Vielleicht crackt er alle Programm voll automatisch, bzw. ladet nur die illegalen Versionen herunter, deswegen ist es ihm noch nicht aufgefallen *g*

    Aber back to topic:
    1. Würde mich die Antwort interessieren.
    2. Kann da wer irgendwelche Links dazu setzen, wie man einen Kopierschutz allgemein aufbauen kann. Was es für Ideen gibt, wie man sie realisieren kann usw. ^^

    Grüssli



  • Dravere schrieb:

    Simon2 schrieb:

    😕 Wieso, bei größeren Applikationen läuft das doch schon immer so....

    Vielleicht crackt er alle Programm voll automatisch, bzw. ladet nur die illegalen Versionen herunter, deswegen ist es ihm noch nicht aufgefallen *g*...

    😕 Wo Du wolle ? 😉

    Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen. Klar soweit? Denn ich versteh absolut nichts von dem, was du da von dir gegeben hast.

    😉

    Gruß,

    Simon2.


  • Administrator

    Simon2 schrieb:

    Dravere schrieb:

    Simon2 schrieb:

    😕 Wieso, bei größeren Applikationen läuft das doch schon immer so....

    Vielleicht crackt er alle Programm voll automatisch, bzw. ladet nur die illegalen Versionen herunter, deswegen ist es ihm noch nicht aufgefallen *g*...

    😕 Wo Du wolle ? 😉

    Ehm, da fehlt doch nur ein e hinter Programm, also Programme. Aber ansonsten sehe ich da keine groben Rechtschreibefehler. Verstehe also nicht, was du hast ^^
    Was verstehst denn nicht, bzw. wenn ich dir das jetzt erklären muss, dann geht ja der bereits schon ziemlich flache Witz komplett verloren ^^

    Grüssli



  • Dravere schrieb:

    Simon2 schrieb:

    Dravere schrieb:

    Simon2 schrieb:

    😕 Wieso, bei größeren Applikationen läuft das doch schon immer so....

    Vielleicht crackt er alle Programm voll automatisch, bzw. ladet nur die illegalen Versionen herunter, deswegen ist es ihm noch nicht aufgefallen *g*...

    😕 Wo Du wolle ? 😉

    Ehm, da fehlt doch nur ein e hinter Programm, also Programme. Aber ansonsten sehe ich da keine groben Rechtschreibefehler. Verstehe also nicht, was du hast ^^
    ...

    Also "ladet" finde ich in meinem Duden auch nicht.:D
    Und ich weiß halt ebensowenig, wer "er" ist (der "crackt" und "herunterladet" und dem "auffällt"), wie was ihm denn hätte auffallen können.

    Das Ganze bekomme ich einfach nicht in Zusammenhang zu meinem (von Dir zitierten) Hinweis, dass größere Softwareprodukte üblicherweise eine derartige Lizenz-/Bezahlpraxis haben.

    Gruß,

    Simon2.



  • Üblicherweise macht man das doch so dass das Programm einen Code ausspuckt (den der User einfach in ein Email kopieren kann), und dieser Code wird dann vom Software-Hersteller quasi signiert, bzw. in eurem Fall würde da noch ein "Ablaufdatum" dazukommen, was aber Grundsätzlich nix ändert.

    Wie dieser Code zustandekommt sieht der User garnicht, ergo kann er sich auch keine Gedanken machen ob er irgendwas rausrücken will oder nicht. Weiters sollte nichts in diesem Code so vorhanden sein dass man die Original-Werte rekonstruieren kann, also z.B. ne MAC Adresse sollte zwar vielleicht verwendet werden, aber für euch nicht rekonstruierbar sein.

    Alternativ dazu könntet ihr vielleicht doch einen Dongle verwenden, der bloss einen Lizenzserver schützt. Zu diesem Lizenzserver verbinden sich dann die einzelnen PCs wo eure Anwendung läuft, und der sagt der Anwendung ob sie laufen darf oder nicht. Dann braucht jede Firma bloss einen Dongle, was die Kosten deutlich senkt.

    Du könntest z.B. mal mit denen reden: http://www.aladdin.de



  • Bei uns stellte sich vor kurzem auch gerade so eine Frage.

    Da wir dann aber doch eine sehr spezielle Software haben und einen sehr speziellen Kundenkreis der ohne Consulting Unterstüzung eh kaum was damit Anfangen könnte, muss man sich wenig Gedanken darum machen machen das sich die Software unkontrolliert verbreitet.
    Wir haben ein einfach Lizenzkey gebunden an den Lizenznamen-Verfahren gewählt ohne großartigen Cracker-Schutz oder dergleichen.

    Wenn die Software Druck-Ausgaben macht steht dann irgendwo neben dem Datum der Erstellung der Lizenzname. Ebenso in den Titeln der Applikation wird diese Name angezeigt.

    Passen Lizenz-Key und -Name nicht zusammen starten die Anwendungen nicht.

    Wir selber haben Probleme mit gekaufter Software die an die CPU-ID gefesselt ist.
    Versucht mal, bei einem IT-Audit dem Prüfer mitzuteilen, dass es für das eine System kein Backup gibt, da wenn dort die CPU durchbrennt oder dergleichen diese Software erstmal nirgendwo läuft.
    Für eine zusätzliche Reserver-Lizenz verlangt der Lieferant nochmal den vollen Lizenzpreis(1xx.xxx Euro). Im Katastrophen-Fall würde man uns einen neuen Key erzeugen, aber das dauert länger gut ist (CPU-ID ermitteln, denen geben, die schickens zu den Entwicklern in die USA die dann irgendwann wenn sie Lust haben den Key schicken.

    Tja, wenn wir könnten würden wie diese Software eher früher als später ablösen ...


  • Administrator

    Simon2 schrieb:

    Also "ladet" finde ich in meinem Duden auch nicht.:D

    Ups, lädt? Das kommt daher, dass ich normalerweise Schweizerdeutsch rede. Da gibt es manchmal gewisse Komplikationen 😉
    Aber ein wenig selber mitdenken schadet ja auch nichts, oder? ^^

    Simon2 schrieb:

    Und ich weiß halt ebensowenig, wer "er" ist ...

    Ja, also mitdenken schadet nicht. Wer hat vor dir einen Post verfasst. Schon mal was von einem ertertret gelesen? Also das geht meiner Meinung nach ganz klar hervor, aber naja ...
    1. Erwarte ich wohl oft zuviel und
    2. Sind wir inzwischen ziemlich im Off Topic.

    Grüssli



  • @Angestellter:
    Sehr schwer zu fälschen ist auch die Seriennummer des BIOS.
    BTW: Darf man fragen, was genau das für eine Software ist?



  • http://www.cdw.de.vu/

    wenn ich da so an leute wie cdw denke, hast du sowieso keine chance



  • Dravere schrieb:

    ...selber mitdenken schadet ja auch nichts, oder?...

    Es schadet auch nichts, Anderen eine Basius zum Mitdenken zu geben.
    Ich habe verstanden, dass
    - Du mit "er" Angestellter meinst oder mich und
    - unter "nicht merken" verstehst: Angestellter merkt nicht, wenn jemand seine Software crackt.
    Dann lies Dir unter der Prämisse mal Dein Post durch und sag' mir, wie weit Du da mit "selbst mitdenken" kommst. 🙄
    OK, Du meintest wohl ertertret und dann verstehe ich es auch, was Du sagen wolltest ...

    Letztlich kannst Du nicht davon ausgehen, dass wir hier automatisch Deine Einstellung zum Thema "Lizenkosten" kennen und deswegen automatisch verstehen, dass Dir klar ist, dass solche Lizenzkosten normal sind ...
    Das ist das Problem mit Ironie im Forum: Selten hat man genug Informationen über den Schreiber, um sie erkennen zu können (Du weißt z.B. auch nicht, ob ich vielleicht einfach ein zynisches A-Loch bin, der das hier auch nru ironisch meint 😃 ).

    Gruß,

    Simon2.



  • Warum ist eine Dongle-Lösung eigentlich zu teuer? Ein USB-Dongle kostet ja kaum noch was.



  • Marc++us schrieb:

    Warum ist eine Dongle-Lösung eigentlich zu teuer? Ein USB-Dongle kostet ja kaum noch was.

    Einen USB-Stick kann man dafür ja kaum nehmen, da der ja leichter kopiert ist, als einem Lieb ist. Schwieriger wird es vielleicht, wenn man irgend eine ID des Chips über den USB-Bus auswertet. Aber im Grunde dürfte es kinderleicht sein für einen Cracker die Abfrage des USB-Dongles zu entfernen (oder ein Emulations-Layer zu schreiben), sogar leichter als alles andere, da er ja nur nach Lese/Screib-Aktionen auf dem USB-Device gucken muss.

    Das einzige was funktionieren würde, wäre die Auslagerung von Programmfunktionalität auf eine Smart-Card. Dann müsste der Cracker die Funktionalität neu schreiben. Dann sind wir aber sicher in keinem Bereich mehr der billig ist.



  • @Bierversilberer: Das das Bios eine Seriennummer hat wußte ich noch nicht. Werd mal schauen ob ich das verwenden kann. Vielen Dank

    @hustbaer: Aladdin haben wir übersehen. Ein zentraler Dongle Server wäre auch interessant. Weißt Du zufällig wieviel so ein Dongle+Server-SW kostet? Das es von der Stückzahl abhängen würde weiß ich. Einfach ein paar Zahlen zum orientieren...

    @Bierversilberer: Es ist eine Planungssoftware für bestimmte Infrastrukturen die fast nur in Ballungsräumen eingesetzt wird. Falls Ihr keine Millardäre/Großunternehmer seid könnt Ihr wirklich nichts damit anfangen. *g*

    @Marc++us: Bei den Firmen die für uns in Frage kommen würde ein Dongle 30-100 Euro kosten; je nach Abnahmemenge. Bei 300 aktuellen Lizenzen + die die hoffentlich durch unsere neue Lizenzpolitik hinzukommen würden *g* wären mit einem Schlag mehrere 1000 Euro weg. Wir sind mehr so die 10 Mann Firma... da müssten wir so eine Investition erstmal wieder rausholen. Außerdem wäre das für unsere Kunden eine große Umstellung. Da fangen wir am besten erstmal klein an. Mit einer Lizenz und etwas Kopierschutz. Am Ende werden wir aber vermutlich auch einen Dongle einsetzen. Die meisten Kunden sind hoffentlich ehrlich und die wollen wir nicht vergraulen...

    @Rüdiger: So einfach ist das auch nicht. Wir haben uns einen Probedongle zuschicken lassen.
    Es läuft etwa so: Dort ist ein Chip drauf der RSA/AES kann + einen WriteOnly Speicher + einen ReadWrite Speicher. Der Key wird bei uns in der Firma auf den Dongle in den WriteOnly Speicher draufgeschrieben und in unsere Datenbank gespeichert. Der Dongle stellt keine Funktion bereit um den Key wieder auszulesen. Angeblich soll der Dongle auch Flex sicher sein. Man kann ihn also nicht öffnen und das EEPROM irgendwo anders anschließen. (Steht jedenfalls im Prospekt.)
    Man könnte nun in den Lizenzcode die HD Serial, die MAC und ev die Bios Serial schreiben und diesen dann mit dem Key in der Datenbank verschlüsseln und dem Kunden zuschicken. Unsere SW würde dann mit Dongle die Lizenz wieder entschlüsseln und nachschauen ob die Serials in der Lizenz mit den auf dem aktuellem Computer übereinstimmten. Nun wirst Du sagen: Man kann die Dongle Aufrufe aus der SW entfernen.
    Das könnten wir durch unsere ständigen Updates und unsere InputDaten für das Programm verhindern. Wenn wir diese auch mit dem Key auf dem Dongle verschlüsseln, müsste der Hacker ständig hinterher hacken. Jedes Update jeden Datensatz von uns müsste er bearbeiten. Momemtan geht unsere Überlegungen aber dahin den Verschlüsselungsalgo anstatt auf dem Dongle erstmal in unsere App einzukompilieren.



  • Angestellter schrieb:

    Das könnten wir durch unsere ständigen Updates und unsere InputDaten für das Programm verhindern. Wenn wir diese auch mit dem Key auf dem Dongle verschlüsseln, müsste der Hacker ständig hinterher hacken. Jedes Update jeden Datensatz von uns müsste er bearbeiten. Momemtan geht unsere Überlegungen aber dahin den Verschlüsselungsalgo anstatt auf dem Dongle erstmal in unsere App einzukompilieren.

    Das ist ja kein Problem. Dann liest der Cracker einfach die Sachen die das Dongle zurück liefert aus (das ist ja keine große Schwierigkeit, die Daten mitzusniffen oder mit einem Debugger aus dem Speicher zu extrahieren). Wenn ihr den Algo in die App einbaut habt ihr eh verloren, weil man dann einfach den Schlüssel auslesen kann.



  • rüdiger schrieb:

    Angestellter schrieb:

    Das könnten wir durch unsere ständigen Updates und unsere InputDaten für das Programm verhindern. Wenn wir diese auch mit dem Key auf dem Dongle verschlüsseln, müsste der Hacker ständig hinterher hacken. Jedes Update jeden Datensatz von uns müsste er bearbeiten. Momemtan geht unsere Überlegungen aber dahin den Verschlüsselungsalgo anstatt auf dem Dongle erstmal in unsere App einzukompilieren.

    Das ist ja kein Problem. Dann liest der Cracker einfach die Sachen die das Dongle zurück liefert aus (das ist ja keine große Schwierigkeit, die Daten mitzusniffen oder mit einem Debugger aus dem Speicher zu extrahieren). Wenn ihr den Algo in die App einbaut habt ihr eh verloren, weil man dann einfach den Schlüssel auslesen kann.

    und was wenn jedesmal andere daten ausgelesen werden die mittels der software verifiziert werden?



  • rapso schrieb:

    und was wenn jedesmal andere daten ausgelesen werden die mittels der software verifiziert werden?

    Meinst du so etwas? Man schickt Zufallsdaten rein, lässt die SmartCard die Daten signieren, dann verifiziert man die Signatur.

    Das Problem ist nur, ein Cracker kann die Daten beeinflussen die du reinsteckst. Also patcht er einfach die Zufallsdaten-Funktion und schicken Daten, die er schon in einer signierten Form hat und liefert dann die Signatur zurück.


Anmelden zum Antworten