Frank2011: Selbst ein sicheren USB-Lizenzstick machen

Ich entwickle selbst Software und möchte meine Programme, die ich meinen Kunden herausgebe, mit einem USB-Lizenzstick schützen, so dass das Programm nur dort laufen kann, wo der Lizenzstick im USP-Port steckt. Also, ich möchte selbst ein USB-Lizenzstick machen. Wie man Daten wie Lizenznummer aus einer oder mehreren Dateien auf einem Stick abfragt, ist mir klar, aber wie kann man erreichen, dass der Inhalt des Sticks nicht einfach auf einen anderen Stick kopiert werden kann, den man prüft? Weiß jemand von euch, wie man so etwas machen kann?

Mit freundlichen Grüßen von Frank2011

  1. Tach!

    ich möchte selbst ein USB-Lizenzstick machen. [...] wie kann man erreichen, dass der Inhalt des Sticks nicht einfach auf einen anderen Stick kopiert werden kann, den man prüft?

    Ein handlesüblicher Speicherstick wird sich immer kopieren lassen. Da brauchst du schon was individuelles, was nicht jeder herstellen kann. Und das bieten Hersteller von USB-Donglen.

    dedlfix.

    1. Tach!

      ich möchte selbst ein USB-Lizenzstick machen. [...] wie kann man erreichen, dass der Inhalt des Sticks nicht einfach auf einen anderen Stick kopiert werden kann, den man prüft?

      Ein handlesüblicher Speicherstick wird sich immer kopieren lassen. Da brauchst du schon was individuelles, was nicht jeder herstellen kann. Und das bieten Hersteller von USB-Donglen.

      Hallo dedlfix,

      genau das habe ich mir aus gedacht, aber so professionell muss es vieleicht nicht sein, denn solche Dongles sind sicher auch nicht ganz billig. Es geht mir nur darum, ein unbefugtes Weitergeben und Nutzen zu erschweren.

      Gruß Frank2011

      1. Hallo,

        Ein handlesüblicher Speicherstick wird sich immer kopieren lassen. Da brauchst du schon was individuelles, was nicht jeder herstellen kann. Und das bieten Hersteller von USB-Donglen.
        genau das habe ich mir aus gedacht, aber so professionell muss es vieleicht nicht sein, denn solche Dongles sind sicher auch nicht ganz billig.

        könnten sie aber. Hast du schon mal daran gedacht, dich mit einem Elektronik-Bastler zusammenzutun? Am besten jemand, der schon öfter kleine µC-Schaltungen aufgebaut hat? Für den wäre es ein leichtes, einen kleinen PIC mit USB-Port zu nehmen und dem bestimmte Kommunikationsmuster beizubringen, die der Host dann überprüft. Der Speicher dieser µCs kann nach der Programmierung so versiegelt werden, dass er sich nicht mehr auslesen lässt.

        Aufwand: Schätzungsweise ein Wochenendprojekt.
        Kosten:  unter 10EU$ (im Wesentlichen der µC, der USB-Stecker und ein Kleinstgehäuse)

        Natürlich gilt immer noch, was Andreas schon sagte: Wenn jemand genug Aufwand treibt, kann er auch die Prüfroutine im Programm identifizieren und unwirksam machen. Dann nützt der Dongle auch nix mehr.

        Ciao,
         Martin

        --
        F: Wer waren die ersten modernen Politiker?
        A: Die Heiligen drei Könige. Sie legten die Arbeit nieder, zogen teure Klamotten an und gingen auf Reisen.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. könnten sie aber. Hast du schon mal daran gedacht, dich mit einem Elektronik-Bastler zusammenzutun? Am besten jemand, der schon öfter kleine µC-Schaltungen aufgebaut hat? Für den wäre es ein leichtes, einen kleinen PIC mit USB-Port zu nehmen und dem bestimmte Kommunikationsmuster beizubringen, die der Host dann überprüft. Der Speicher dieser µCs kann nach der Programmierung so versiegelt werden, dass er sich nicht mehr auslesen lässt.

          Da muss ich dir den Zahl ziehen. Beim Knacken eines Dongels wird nie dessen Hard- und Software analysiert sondern seine Kommunikation mit der Software. Daher ist auch erheblicher Aufwand nötig, um sowas halbwegs schwer zu machen.
          Desweiteren ist jeder Ausleseschutz eines µC leicht auszuhebeln, braucht oft nichmal Eingriffe in die Hardware, nur nen normalen Programmieradapter.

          Aufwand: Schätzungsweise ein Wochenendprojekt.

          Also mal ehrlich, wenn du da jemanden kennst, den kann ich mit Aufträgen zuwerfen. Denn wenn jemand einen halbwegs sicheren Dongle an einem Wochenende entwickelt, ist er ein Genie.

          Kosten:  unter 10EU$ (im Wesentlichen der µC, der USB-Stecker und ein Kleinstgehäuse)

          Und dann noch die Kosten fürs in Verkehr bringen von Elektronik nach dem ElektroG, was sich für den Anfang im fünfstellingen Bereich bewegen dürfte.

          Natürlich gilt immer noch, was Andreas schon sagte: Wenn jemand genug Aufwand treibt, kann er auch die Prüfroutine im Programm identifizieren und unwirksam machen. Dann nützt der Dongle auch nix mehr.

          Bei deiner "Lösung" ist das Knacken nichtmal ne Sache von ner Stunde. Ich arbeite viel mit µC und kann daher aus Erfahrung von mir und einigen anderen sprechen, die mal ähnliches geglaubt haben, wie du.

          Da ist es genauso sicher, die Software an die Seriennummer vom USB-Stick zu koppeln und die Abfrage in vielen anderen Abfragen, die nur zufällige Rückgaben erzeugen, zu "verstecken".

          Ich habe die Erfahrung gemacht, wenn sowas machen, dann richtig, sonst ist die Arbeit völlig überflüssig, da das Knacken schneller geht als das Implementieren der Sperren.

          1. Hi,

            könnten sie aber. Hast du schon mal daran gedacht, dich mit einem Elektronik-Bastler zusammenzutun? Am besten jemand, der schon öfter kleine µC-Schaltungen aufgebaut hat? Für den wäre es ein leichtes, einen kleinen PIC mit USB-Port zu nehmen und dem bestimmte Kommunikationsmuster beizubringen, die der Host dann überprüft. Der Speicher dieser µCs kann nach der Programmierung so versiegelt werden, dass er sich nicht mehr auslesen lässt.
            Da muss ich dir den Zahl ziehen. Beim Knacken eines Dongels wird nie dessen Hard- und Software analysiert sondern seine Kommunikation mit der Software. Daher ist auch erheblicher Aufwand nötig, um sowas halbwegs schwer zu machen.

            das ist mir klar.

            Desweiteren ist jeder Ausleseschutz eines µC leicht auszuhebeln, braucht oft nichmal Eingriffe in die Hardware, nur nen normalen Programmieradapter.

            Das kann ich nicht einschätzen, ich hab's noch nie versucht. Ich weiß nur von ein paar bekannten, dass das Auslesen des Programmspeichers (meist ein Flash-Speicher) nach dem Setzen bestimmter Fuses angeblich nicht mehr möglich sein soll. Dass es abhängig vom Controller eventuell doch noch Mittel und Wege gibt, mag sein.

            Aufwand: Schätzungsweise ein Wochenendprojekt.
            Also mal ehrlich, wenn du da jemanden kennst, den kann ich mit Aufträgen zuwerfen. Denn wenn jemand einen halbwegs sicheren Dongle an einem Wochenende entwickelt, ist er ein Genie.

            Kosten:  unter 10EU$ (im Wesentlichen der µC, der USB-Stecker und ein Kleinstgehäuse)
            Und dann noch die Kosten fürs in Verkehr bringen von Elektronik nach dem ElektroG, was sich für den Anfang im fünfstellingen Bereich bewegen dürfte.

            Ich glaube, wir gehen von unterschiedlichen Voraussetzungen aus. Du anscheinend von einem marktreifen Konzept, ich dagegen nur von einer Amateur- oder Bastlerlösung für den Einzelfall - denn so hatte ich das Anliegen des OP auch verstanden.

            Bei deiner "Lösung" ist das Knacken nichtmal ne Sache von ner Stunde. Ich arbeite viel mit µC und kann daher aus Erfahrung von mir und einigen anderen sprechen, die mal ähnliches geglaubt haben, wie du.

            Schon möglich, ich wollte ja nur einen Ansatz vorstellen, der gegen die Gelegenheitskopierer genügt, und habe nie den Anspruch gehabt, das Ding "wasserdicht" gegen Profis zu machen.

            Da ist es genauso sicher, die Software an die Seriennummer vom USB-Stick zu koppeln und die Abfrage in vielen anderen Abfragen, die nur zufällige Rückgaben erzeugen, zu "verstecken".

            Apropos: Hat ein handelsüblicher USB-Stick eine Seriennummer, die sich mit Hausmittelchen auslesen lässt?

            So long,
             Martin

            --
            Wer schläft, sündigt nicht.
            Wer vorher sündigt, schläft besser.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. Tach!

              Apropos: Hat ein handelsüblicher USB-Stick eine Seriennummer, die sich mit Hausmittelchen auslesen lässt?

              Wikipedia sagt zum ersten Teil der Frage: jein (letzter Absatz unter Usage).

              dedlfix.

              1. Moin Moin!

                Apropos: Hat ein handelsüblicher USB-Stick eine Seriennummer, die sich mit Hausmittelchen auslesen lässt?

                Wikipedia sagt zum ersten Teil der Frage: jein (letzter Absatz unter Usage).

                Und spätestens, wenn wir uns nicht mehr mit Closed Source rumschlagen müssen, kann ich mir bei einem Open Source-System den Kernel und ggf. die USB-Lib so umpatchen, dass mein antiker USB-Stick aus der Grabbelkiste exakt die richtigen Seriennummer, exakt die richtige Hersteller- und Modellbezeichnung zu haben scheint. Notfalls auch die richtige Kapazität. Und die Software kann dagegen exakt gar nichts tun, denn direkten Zugriff auf die Hardware wird sie nie bekommen.

                Alexander

                --
                Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
            2. Apropos: Hat ein handelsüblicher USB-Stick eine Seriennummer, die sich mit Hausmittelchen auslesen lässt?

              Wenn du spezielle Sticks für solche Anwendungen als Handelsüblich bezeichnest, dann ja. Es gibt sticks mit einem kleinen ROM, das eine eindeutige Serial enthält, da diese Sticks für Loginsysteme usw. genutzt werden.

              Der Otto-Normal-Stick hat aber keine solche Seriennummer, zumindest keine, die nicht per Software änderbar ist.

              Vielleicht wäre es mal wert, sich mal pam-usb anzusehen. Da werden ja bei jedem Login neue Keys generiert. Wie das funktioniert, weiss ich nicht, hab ich mich nicht damit befasst, aber es funktioniert und könnte für das aktuelle Problem einen Ansatz darstellen.

  2. Grundsätzlich ist zu sagen, dass man eine Software nie ganz "sicher" bekommt, selbst mit Hardware-Dongles wird es immer einen Workaround geben. Irgenwann stellt sich nur die Frage nach dem Zeitaufwand (sowohl für den Anbieter als auch für den potentiellen Cracker).

    Natürlich kann man Dateien auf einem regulären Dateisystem einfach kopieren. Man könnte daher versuchen, eine Seriennummer vom USB-Stick oder dessen Dateisystem zu lesen (siehe z. B. hier); wenn der Anwender das weiß, kann er diese bei einem neuen USB-Stick aber auch selbst einstellen.

    Mehr Aufwand wäre es, eine Partition auf dem USB-Stick mit einem "eigenen proprietären Dateisystem" anzulegen, das im Betriebssystem zunächst als fehlerhafte Partition erscheint und mit speziellen Routinen vom Programm aus abgefragt wird. Das ganze ist dann natürlich schon aufwändiger, ich weiß nicht, ob z. B. kommerzielle Dongle-Hersteller das so machen. Alternativ könnte man auch versuchen, die Daten im Dateisystem auf spezielle Weise anzuordnen (Lage der 'inodes', Fragmentierung etc.), da diese Informationen beim Kopieren verlorengehen (es sei denn, der Kunde kennt 'dd'...).

    Abfragen im Programm a la "if (md5sum(schluessel)!=ABCDEF) { exit(1); }" nützen wenig, da diese im Disassembler leicht mit einem "Bypass" versehen werden können (es reicht, an entsprechender Stelle das "jne" durch "je" zu ersetzen). Besser ist es, bestimmte intern im Programm benötigte Zahlenwerte (z. B. Befehlscodes, wichtige Konstanten etc.) irgendwie aus dem Schlüssel zu "berechnen". Wenn der Schlüssel falsch ist, werden trotzdem irgendwelche anderen Werte "berechnet", mit denen das Programm dann nicht funktioniert. In diesem Fall muss sich der Anwender zumindest mehr Zeit nehmen und sich mit der internen Funktionsweise des Programms auseinandersetzen, aber auch das lässt sich natürlich letztendlich knacken...

    Viele Grüße

    Andreas

    1. Hallo Andreas,

      ich danke dir für deine Tipps. Ich werde mich einmal näher damit befassen, was ich eventuell verwerten kann. Du hast natürlich recht, alles ist zu knakcen. Auch der beste Bank-Safe! Mir geht es bei meiner Software lediglich darum, um unbefugte Nutzung zu erschweren. Der Kundenkreis, für den dies gedacht ist, beschäftigt sich normalerweise nicht mit knacken von Lizenzcodes oder -sticks und schon gar nicht mit Programm-Code. Eventeulle Einzelfälle sind jedoch nicht auszuschließen. Also, ich schaue mal, was ich von deinen Tipps verwenden kann und bedanke mich nochmals dafür.

      Gruß Frank2011

  3. Ich entwickle selbst Software und möchte meine Programme, die ich meinen Kunden herausgebe, mit einem USB-Lizenzstick schützen, so dass das Programm nur dort laufen kann, wo der Lizenzstick im USP-Port steckt.

    Andere Idee: Das P. soll nur auf dem PC laufen, auf dem es installiert wurde. Das würde ich so machen, dass beim Setup die OS-Seriennummer ausgelesen und gehasht in einer Datei im Programmverzeichnis gespeichert wird (kein Stick).

    Bei jedem Programmstart wird dann die SN erneut ausgelesen, gehasht und mit dem beim Setup erzeugten hash verglichen. Das ist zwar auch nicht 100%ig sicher, vermeidet jedoch den Dongel und ein "dritter" PC-Benutzer wird es sich sehr überlegen, die SN zu ändern, weil dann u.U. andere lizenzierte Programme nicht mehr tun.

    Hotti

    1. Hallo,

      Andere Idee: Das P. soll nur auf dem PC laufen, auf dem es installiert wurde. Das würde ich so machen, dass beim Setup die OS-Seriennummer ausgelesen ...

      ... vorausgesetzt, es gibt sowas wie eine Seriennummer (Windows).

      Bei jedem Programmstart wird dann die SN erneut ausgelesen, gehasht und mit dem beim Setup erzeugten hash verglichen. Das ist zwar auch nicht 100%ig sicher, vermeidet jedoch den Dongel und ein "dritter" PC-Benutzer wird es sich sehr überlegen, die SN zu ändern, weil dann u.U. andere lizenzierte Programme nicht mehr tun.

      Nein. Gerade in Firmen ist es durchaus üblich, dass man eine Volumenlizenz für, sagen wir, 50 PCs kauft. Dann wird Windows auf einem Rechner mal installiert und zurechtkonfiguriert, und ein Image dieses Systems dann auf die weiteren 49 Rechner gebügelt.
      Und schon stehst du dumm da mit deinem kurzen Hemd ...

      Ciao,
       Martin

      --
      Paradox ist, wenn der Innenminister sich äußert und der Außenminister sich erinnert.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. hi,

        Und schon stehst du dumm da mit deinem kurzen Hemd ...

        Nicht dumm aber frierend sitze ich jetzt da und schaue nach weiteren Nummern ;)

        Wie wärs mit der Seriennummer des USB-Sticks? Oder die SN der Festplatte?

        Hotti

        1. Hallo,

          Und schon stehst du dumm da mit deinem kurzen Hemd ...
          Nicht dumm aber frierend sitze ich jetzt da

          hm, auch nicht viel besser.

          und schaue nach weiteren Nummern ;)

          Gute Idee, wenn man Erfolg hat, kann einem davon auch ordentlich warm werden! :-)

          Wie wärs mit der Seriennummer des USB-Sticks?

          Hat der eine vom Filesystem unabhängige? Wenn ja, kann man die auslesen? Wie?

          Oder die SN der Festplatte?

          Kann man die als Normal-User ohne root- oder Admin-Privilegien auslesen? .oO(?)

          Ciao,
           Martin

          --
          Wer keiner Fliege etwas zuleide tut, darf sich nicht über die Maden im Fleisch wundern.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. hi,

            Wie wärs mit der Seriennummer des USB-Sticks?

            Hat der eine vom Filesystem unabhängige? Wenn ja, kann man die auslesen? Wie?

            Die SN ist vom FS unabhängig, die ist eingebrannt ;)

            Oder die SN der Festplatte?

            Kann man die als Normal-User ohne root- oder Admin-Privilegien auslesen? .oO(?)

            D:>dir c:
             Datenträger in Laufwerk C: ist erwin
             Volumeseriennummer: 54A6-37E1

            Andere OSsse geben das bestimmt auch her, s. gooooogle...

            Hotti

            1. Hi,

              Wie wärs mit der Seriennummer des USB-Sticks?
              Hat der eine vom Filesystem unabhängige? Wenn ja, kann man die auslesen? Wie?
              Die SN ist vom FS unabhängig, die ist eingebrannt ;)

              ah ja. Zeig mal!

              Oder die SN der Festplatte?
              Kann man die als Normal-User ohne root- oder Admin-Privilegien auslesen? .oO(?)

              D:>dir c:
              Datenträger in Laufwerk C: ist erwin
              Volumeseriennummer: 54A6-37E1

              Das ist aber nicht die Seriennummer der Festplatte, sondern eine bei der Formatierung eines FAT-Filesystems zufällig vergebene Nummer, die im Datenblock des Bootsektors gespeichert wird. Heißt: Sie kann jederzeit geändert werden, und sie bleibt natürlich beim Kopieren des gesamten Filesystems erhalten.
              Und deshalb ist es keine gute Idee, irgendwelche Entscheidungen daran zu knüpfen.

              Andere OSsse geben das bestimmt auch her, s. gooooogle...

              Deswegen habe ich im vorigen Post schon betont: eine vom Filesystem unabhängige Seriennummer. Die von dir genannte ist ja Teil des Filesystems. Frank braucht aber für das, was er vorhat, eine an die Hardware gebundene Information, die sich nicht so einfach kopieren lässt.

              Ciao,
               Martin

              --
              Die Zeit, die man zur Fertigstellung eines Projekts wirklich braucht, ist immer mindestens doppelt so lang wie geplant.
              Wurde dieser Umstand bei der Planung bereits berücksichtigt, gilt das Prinzip der Rekursion.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          2. Moin Moin!

            Wie wärs mit der Seriennummer des USB-Sticks?

            Oder die SN der Festplatte?

            Kann man die als Normal-User ohne root- oder Admin-Privilegien auslesen? .oO(?)

            Auch das kann man aushebeln.

            Spätestens, wenn ich die Installation in eine VM packe, und von der VM diverse Clone verteile, haben auf wundersame Art und Weise alle Maschinen exakt die selben ID-Nummern für HDD, USB-Stick, CPU. Selbst die MAC-Adressen der virtuellen Netzwerkkarten können identisch sein, so lange die VMs nicht direkt im selben Netz hängen. Einfaches NAT durch die Virtualisierungssoftware auf dem Host reicht dafür schon aus.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
      2. Tach!

        Andere Idee: Das P. soll nur auf dem PC laufen, auf dem es installiert wurde. Das würde ich so machen, dass beim Setup die OS-Seriennummer ausgelesen ...
        ... vorausgesetzt, es gibt sowas wie eine Seriennummer (Windows).

        Und vorausgesetzt, man verhindert, dass mit dem Originalmedium beliebig viele PCs bespielt werden. Oder man muss diese eindeutige Nummer auch noch irgendwo registrieren lassen und erst dann einen Key bekommen, sonst ist dieser Ansatz nicht zielführend.

        Nein. Gerade in Firmen ist es durchaus üblich, dass man eine Volumenlizenz für, sagen wir, 50 PCs kauft. Dann wird Windows auf einem Rechner mal installiert und zurechtkonfiguriert, und ein Image dieses Systems dann auf die weiteren 49 Rechner gebügelt.

        In dem Fall will man auch lieber einen Lizenzserver betreiben und keine 50 Dongle in der Gegend rumfliegen haben.

        dedlfix.

        1. Hallo,

          Gerade in Firmen ist es durchaus üblich, dass man eine Volumenlizenz für, sagen wir, 50 PCs kauft. Dann wird Windows auf einem Rechner mal installiert und zurechtkonfiguriert, und ein Image dieses Systems dann auf die weiteren 49 Rechner gebügelt.
          In dem Fall will man auch lieber einen Lizenzserver betreiben und keine 50 Dongle in der Gegend rumfliegen haben.

          nein, in dem Fall wird man *einen* Dongle haben (okay, vielleicht auch zwei oder drei), damit sichergestellt ist, dass das Programm eben *nicht* auf allen 50 gleichartigen PCs benutzt wird.

          Ciao,
           Martin

          --
          Gott hilft niemandem, er erfreut sich nur an unseren Leiden.
            (Ashura)
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. Tach!

            Gerade in Firmen ist es durchaus üblich, dass man eine Volumenlizenz für, sagen wir, 50 PCs kauft. Dann wird Windows auf einem Rechner mal installiert und zurechtkonfiguriert, und ein Image dieses Systems dann auf die weiteren 49 Rechner gebügelt.
            In dem Fall will man auch lieber einen Lizenzserver betreiben und keine 50 Dongle in der Gegend rumfliegen haben.
            nein, in dem Fall wird man *einen* Dongle haben (okay, vielleicht auch zwei oder drei), damit sichergestellt ist, dass das Programm eben *nicht* auf allen 50 gleichartigen PCs benutzt wird.

            Versteh ich jetzt nicht. Es wird eine Volumenlizenz für 50 Rechner gekauft und dann soll das doch nicht auf 50 Rechnern laufen?

            dedlfix.

            1. Hallo,

              Versteh ich jetzt nicht. Es wird eine Volumenlizenz für 50 Rechner gekauft und dann soll das doch nicht auf 50 Rechnern laufen?

              Dem OP ging es darum, sein Programm dagegen zu schützen, dass es unberechtigt auf mehreren Rechnern benutzt wird, z.B. durch einen USB-Dongle. Dann kam hotti mit der Idee, stattdessen einfach die Seriennummer des OS abzufragen, und ich habe widersprochen, dass das keine wirksame Maßnahme ist, weil die auf vielen Rechnern identisch sein kann.
              Es ging ja nicht um die Windows-Lizenz, sondern um eine spezielle Anwendung.

              Jetzt klarer?

              So long,
               Martin

              --
              Der Dienstweg ist die Abkürzung vom Holzweg zur Sackgasse.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
              1. Tach!

                Versteh ich jetzt nicht. Es wird eine Volumenlizenz für 50 Rechner gekauft und dann soll das doch nicht auf 50 Rechnern laufen?
                Dem OP ging es darum, sein Programm dagegen zu schützen, dass es unberechtigt auf mehreren Rechnern benutzt wird, z.B. durch einen USB-Dongle. [...]
                Jetzt klarer?

                Nein, weil der Teil meiner Antwort sich auf eine Volumenlizenz bezog, die du ins Spiel gebracht hast, aber deine Erwiderung darauf wieder von einer Einzellizenz ausgeht.

                Du meintest wohl die Volumenlizenz für das Betriebssystem und nicht für das fragliche Programm. Dann ergibt sich doch ein Sinn.

                dedlfix.

                1. Hallo,

                  Du meintest wohl die Volumenlizenz für das Betriebssystem und nicht für das fragliche Programm. Dann ergibt sich doch ein Sinn.

                  genau so. Ich hatte nicht gedacht, dass das so missverständlich sein könnte.

                  Ciao,
                   Martin

                  --
                  Lieber arm dran als Arm ab.
                  Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  4. Moin Moin!

    Anwalt konsultieren, Vertrag aufsetzen, entsprechende Strafen (10.000 Euro pro Rechner, ...) für den vertragswidrigen Gebrauch der Software vertraglich festlegen, ggf. Regelungen für eine Überprüfung des vertragsgemäßen Gebrauchs (unangekündigte Kontrollen, ...) festlegen.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Tach!

      [...] ggf. Regelungen für eine Überprüfung des vertragsgemäßen Gebrauchs (unangekündigte Kontrollen, ...) festlegen.

      Trojanereinsatz ist auch grad recht beliebt ...

      dedlfix.

    2. Regelungen für eine Überprüfung des vertragsgemäßen Gebrauchs (unangekündigte Kontrollen, ...) festlegen.

      Und wie kommst du drauf, dass ich dich reinlassen muss? Damit könntest du dir ja vertraglich mehr Rechte zusichern als die Polizei oder Durchsuchungsbefehl hat.

      Mal abgesehen davon, wie willst du das finanzieren? Glaubst du es ist in irgendeiner Weise rentabel, wenn du deine Kunden kontrollierst?

      Oder hab ich die Ironie in deinem Posting übersehen?

      1. Moin Moin!

        Regelungen für eine Überprüfung des vertragsgemäßen Gebrauchs (unangekündigte Kontrollen, ...) festlegen.

        Und wie kommst du drauf, dass ich dich reinlassen muss?

        Vertragliche Regelung. So etwas im Sinne von "während der Geschäftszeiten" und "höchstens vier mal pro Kalenderjahr".

        Damit könntest du dir ja vertraglich mehr Rechte zusichern als die Polizei oder Durchsuchungsbefehl hat.

        Exakt. Und warum auch nicht? Bei einer dermaßen tollen Software scheint das ja auch notwendig zu sein.

        Davon abgesehen muß man ja nicht zwingend zum Kunden reisen, eine Phone-Home-Funktion tut's ja auch schon.

        Mal abgesehen davon, wie willst du das finanzieren? Glaubst du es ist in irgendeiner Weise rentabel, wenn du deine Kunden kontrollierst?

        *Ich* will das ja gar nicht. Aber Frank2011 scheint etwas die Eifersucht zu beißen.

        Oder hab ich die Ironie in deinem Posting übersehen?

        Ein wenig, ja. Wobei der klare Vertrag durchaus hilfreich und ernst gemeint ist. Der Anwalt ist übrigens auch ernst gemeint, der sollte den Vertrag sauber und wasserdicht machen.

        Wie weit man Strafen und Kontrollen treiben will, ist eine andere Frage. Gegen genügend Kohle und ggf. einen Support- bzw. Wartungsvertrag kann man auch die Nutzungsrechte an der Software recht flexibel handhaben. Die Kontrolle fällt dann quasi nebenbei beim Support bzw. der Wartung an. Und außerdem sichert so ein Zusatzvertrag ein beständiges Einkommen.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".