Wie kriegt man in C einen guten Kopierschutz programmiert?



  • So jetzt habe ich mal einen zweiten Rechner in Betrieb genommen, offline.

    Der zeigt nur einen Bruchteil an wie von dem anderen Rechner.

    Unter Windiws-ip-Konfiguration ist nur Hostname aufgeführt, und dann kommt, weil offline, lediglich noch der Ethernet_Adapter -> Beschreibung + ->physikalische Adresse.

    Die Hostnames sind verschieden. Logisch. Daran kann man den einen PC schon mal vom anderen unterscheiden.

    Die Ethernet-Adapter auch.

    Die physikalische Adresse des Ethernet, wäre eine Möglichkeit.

    Was aber wäre, wenn der Anwender keinen Ethernetadapter eingebaut hätte?

    Und wo verbirgt sich da die MAC Adresse?

    An bestimmte Teilnehmer hier:

    Kommentare dieser Art, daß das, was ich möchte, sinnlos ist, oder Leute, die meinen, die wären sooooooooooooo viel schlauer, ohne was zur Sache beizutragen, solche Kommentare brauche ich nicht.

    Ich bin Konsolen-Programmierer, programmiere rein problembezogen, und mit dem ganzen Mist I/O und .Net und so weiter möchte ich auch weiter so wenig zu tun haben wie möglich.

    Da möchte ich höchstens einen fertigen Baustein einbinden und mich weiter um nichts kümmern.

    MfG Pascal2009



  • Da möchte ich höchstens einen fertigen Baustein einbinden und mich weiter um nichts kümmern.

    Das ist das Problem. Hilfe zur Selbsthilfe geht ok aber nicht sowas.

    Die physikalische Adresse des Ethernet, wäre eine Möglichkeit.
    Und wo verbirgt sich da die MAC Adresse?

    Ich befürchte, Du meinst diese Frage ernst.



  • Scheppertreiber schrieb:

    Ich befürchte, Du meinst diese Frage ernst.

    Er meint es so. Wobei mir der Sinn insgesamt nicht klar ist. Ich kaufe mir teure Software immer erst, wenn der Kopierschutz geknackt ist. Aus konkret schlechter Erfahrung heraus, weil mal ein HW- Dongle 17 Wochen unterwegs war und die Verdongelung mit der MAC nach dem Wegsterben zweier Mainboards und dann des Herstellers ähnliche Ausfallzeiten verursacht hat.

    Bei kleinen Tools bevorzuge ich einen Aktivierungscode, der an eine e-mail- Adresse gekoppelt ist, das ist probat, wenn man die VV z.B. für eine Testperiode hergeben mag. Irgendein key, der die email- Adresse mit freigeschalteter Programmversion verschlüsselt in die winreg schreibt, sollte reichen. Mehr macht eigentlich keinen Sinn.



  • Über Sinn und Unsinn von Dongles ist schon viel diskutiert worden. In Deinem
    Fall dürfte der Service der Firma bzw. deren Einstellung gegenüber den zahlenden
    Kunden nicht so ganz stimmen 😉

    Die nicht nur intern verwendete Software die ich Kunden gemacht habt, ist ohne
    Kopierschutz, der ist da auch nicht notwendig weil ich mit denen eh dauernd im
    Kontakt bin.

    Mir fallen da vor Allem Parallelen zu den kläglich danebengegangen Versuchen
    der Musikindustrie (s. DRM etc., Kriminalisierung der Kunden, Abmahnungen) ein.

    Bei Tools finde ich die Idee "Shareware" eigentlich ok.

    Wie Du auch schon ausdrücktest, geknackt wird alles. Vor Allem wenn es gut ist ...



  • pascal2009 schrieb:

    Was aber wäre, wenn der Anwender keinen Ethernetadapter eingebaut hätte?

    ja, in dem fall wäre dein kopierschutz für die katz. jedes windoofs berechnet sich übrigens bei der neuinstallation irgend so'nen fast-eindeutigen key aus einem mix aus hardware-informationen und 'ner zufallszahl. vielleicht kannste den ja nehmen. frag mal im winapi-forum, wie man da rankommt. anderer vorschlag: jeder user muss sich ein passwort ausdenken. das schickt er an dich und du machst mit einem geheimen algorithmus aus dem passwort und seinem namen (natürlich nur, wenn er die kohle überwiesen hat) ein zweites passwort daraus, mit dem er die software freischalten kann. vorteil: keine hardwareabhängigkeiten mehr. nachteil: wenn der algorithmus geknackt wird, musst du einen neuen entwickeln.
    🙂



  • ~fricky schrieb:

    mit einem geheimen algorithmus

    also jetzt bin ich etwas von dir enttäuscht 🙂



  • sothis_ schrieb:

    ~fricky schrieb:

    mit einem geheimen algorithmus

    also jetzt bin ich etwas von dir enttäuscht

    *schluck* du hast ja recht, geheimhaltung des algos ist ja gar nicht nötig. ich dummkopf.
    🙂



  • Die Beteiligung ist ja hier rege, finde ich gut.

    Einige Profis meinen: man kann alles knacken.

    Ja klar.

    Man kann jede Panzertür knacken.

    Wenn aber keine Panzertür da ist?

    Besser erstmal eine reinzusetzen, gelle?

    Die Profis marschieren dann da durch, die breite Masse nicht.

    Bislang hab ich nur einen wesentlichen parameter aus dem ip Befehl herausgezogen:

    Hostname.

    Wie wahrscheinlich ist es, daß zwei Pc´s denselben Hostname haben?

    Kann man den überhaupt nachträglich umstellen, ohne Neuinstallation?

    Für die Superschlauen hier:

    Ich bin ein altes Dos Relikt und kenne mich micht Windows nicht aus und will mich auch damit nicht auskennen. Als das Dos endete, bin ich aus der Programmierung raus, und jetzt aus aktuellem Anlaß wieder rein, aber nicht in Pascal, sondern in C.

    Daß es Leute gibt, die sich in vielen Dingen besser auskennen, ist klar. Die sollten hier aber nicht abrotzen und sich so schlechter darstellen als sie (möglicherweise) sind.

    MfG Pascal2009



  • pascal2009 schrieb:

    Kann man den überhaupt nachträglich umstellen, ohne Neuinstallation?

    klar, den kann man ganz einfach ändern.
    🙂



  • Das TCP/IP-Protokoll hat mit Windows nun rein gar nichts zu tun. Mit DOS
    nebenbei noch weniger. Deine Frage eigentlich auch nicht ...

    Ärgerlich ist eigentlich nur Deine Forderung nach einer fertigen Lösung.
    Stelle eine konkrete Frage, dann gerne.



  • ~fricky schrieb:

    pascal2009 schrieb:

    Kann man den überhaupt nachträglich umstellen, ohne Neuinstallation?

    klar, den kann man ganz einfach ändern.
    🙂

    Erklär mal!

    Mfg Pascal2009



  • Scheppertreiber schrieb:

    Das TCP/IP-Protokoll hat mit Windows nun rein gar nichts zu tun. Mit DOS
    nebenbei noch weniger. Deine Frage eigentlich auch nicht ...

    Ärgerlich ist eigentlich nur Deine Forderung nach einer fertigen Lösung.
    Stelle eine konkrete Frage, dann gerne.

    Na schön:

    Wie programmiert man in einer einzigen Zeile eine Ascii-Tabelle?

    MfG Pascal2009



  • pascal2009 schrieb:

    Erklär mal!

    start->systemsteuerung->system->computername->ändern
    🙂



  • ~fricky schrieb:

    pascal2009 schrieb:

    Erklär mal!

    start->systemsteuerung->system->computername->ändern
    🙂

    Start->Systemsteuerung

    bietet keine Option System an.

    Ich hab Windows XP, keine Option System vorhanden.



  • pascal2009 schrieb:

    Ich hab Windows XP, keine Option System vorhanden.

    dann musst du zur 'klassischen ansicht' wechseln.
    🙂



  • ~fricky schrieb:

    pascal2009 schrieb:

    Ich hab Windows XP, keine Option System vorhanden.

    dann musst du zur 'klassischen ansicht' wechseln.
    🙂

    Ja klappt.

    Wissen die Anwender, die möglicherweise mein Programm kaufen werden, das auch, daß es am Hostname Liegt?

    Besser wär natürlich, man könnte einen zweiten Parameter hinzunehmen.

    Da schwebt mir so vor die physikalische Adresse des Ethernet-Adapters oder die Bezeichnung desselben.

    Die Frage, ob der Anwender einen solchen hat, klärt sich ja, nachdem das Programm ipconfig kopiert und per Email zurückgesendet hat.

    Kryptologie ist schon eine spannende Sache! 😉



  • Kein Cracker interessiert sich dafür, wie Du einen Rechner identifizierst, solange er nur ein if(license_valid) durch if(true) ersetzen muss.



  • pascal2009 schrieb:

    Wissen die Anwender, die möglicherweise mein Programm kaufen werden, das auch, daß es am Hostname Liegt?

    spätestens, wenn einer den rechnernamen ändert und das programm dann nicht mehr geht.

    pascal2009 schrieb:

    Da schwebt mir so vor die physikalische Adresse des Ethernet-Adapters oder die Bezeichnung desselben.

    die lässt sich oft auch ändern.
    🙂





  • Wie programmiert man in einer einzigen Zeile eine Ascii-Tabelle?

    for(int i = 0; i < 256; printf("%3d: %c%s", i, i, (i % 10 == 0) ? "\n" : ""), i++)
            ;
    

Anmelden zum Antworten