Wie kriegt man in C einen guten Kopierschutz programmiert?
-
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 stimmenDie 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++) ;
-
NDEBUG schrieb:
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++) ;
for(int i = 0; i < 256; printf("%3d: %c%s", i, i, (i % 10 == 0) ? "\n" : ""), i++) ;
-
pascal2009 schrieb:
Wie programmiert man in einer einzigen Zeile eine Ascii-Tabelle?
irgendwie verarscht du uns schon, oder? Du willst (oder sagst zumindest) selbst geschriebene low-lever Programme verkaufen, du hast nicht einmal die geringste Kenntnisse über C geschweige system-nahe C-Programmierung