Wie kriegt man in C einen guten Kopierschutz programmiert?



  • Für einfache Programme würde ich das Auslesen
    der MAC Adresse empfehlen.

    Gruß,

    Andreas



  • AndreasBo schrieb:

    Für einfache Programme würde ich das Auslesen
    der MAC Adresse empfehlen.

    Gruß,

    Andreas

    Hallo!

    Wenn ich mit

    system("ipconfig/all");

    aufrufe, habe ich einiges an daten auf dem Bildschirm.

    Aber wie bekommt man diese Ausgabe in eine Datei?

    Gruß Pascal2009



  • Hmm... du willst ein "kleines Programm" verkaufen. Du willst nicht, dass man es einfach kopiert. Du willst einen Kopierschutz um Vervielfältigung zu unterbinden. Der Kopierschutz wird wahrscheinlich stressen. Die Leute werden sich dann wohl ihr eigenes kleines Programm schreiben, besonders, wenn sie im "Lowlevel" Bereich tätig sind. Bzw. Ein Kopierschutz, der angemessen wäre ist auch von Leuten aus dem Lowlevel Bereich recht schnell auszuhebeln.

    Also verschwende lieber deine Zeit nicht mit der Implementation eines Kopierschutzes. Außer natürlich du willst dabei was lernen und dir neue Kentnisse aneignen.

    Aber als kleine Denkanregung: Dein Programm wird wohl dann mit Kopierschutz irgendwie so aussehen:
    - Frage ab ob mit dem Kopierschutz/Key/Hardware auf das Lizensiert wurde alles passt
    -> wenn ja dann läuft das Programm normal
    -> wenn nein, dann wird eine Meldung ausgegeben und das Programm terminiert.

    Wieso sollte nun jemand nicht einfach dein Programm, dass er von irgendwo bekommen hat ein bisschen reverse engineeren und dann einfach machen, dass das obige if immer true ist? Das ist nicht allzuschwer 🙂 - Ja natürlich kannst du da auch was dagegen machen ... aber dann kommst du nur vons hundertste ins tausendste und der Kopierschutz wird größer als dein eigentliches Programm...



  • Wenn Du im Ernst solche Fragen stellst wird's wohl noch dauern mit dem Geldverdienen.



  • Ich hab die Windows-IP-Konfiguration jetzt ausgelesen und in einer Text-Datei gespeichert.

    Da stehen alle Konfigurationseinweisungen.

    Windows-IP-Konfiguration
    Hostname
    ...
    Ethernetadapter
    Beschreibung des Ethernetadapters Realtek Ziffern
    NIC
    Physikalische Adresse
    Mehrere Tunneladapter

    usw.

    Welche von den Informationen wäre brauchbar, um den PC zu identifizieren?

    MfG Pascal2009



  • 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.
    🙂


Anmelden zum Antworten