Kopierschutz

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Beitrag von Sauer-RAM »

naja ich wüsste halt mal gerne wie das funktioniert damit ich dann ( falls das mal geschehen wird) ein gutes programm schreibe es mir nicht jeder klaut sondern ich es vekaufen kann. Huahahaha man bin ich gemein
"Bildung kommt vom Bildschirm und nicht vom Buch, sonst hieße es ja Buchung."
Dieter Hildebrandt
"Bildung ist Das, was übrig bleibt, wenn man alles was man in der Schule gelernt hat, vergisst. "
Albert Einstein
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Bedenke: Nichmal große Firmen schaffen es mit Millionen Dollar teuren Kopierschutztechniken etwas geschützt zu halten...
Es is doch so:
Entweder dein Programm is so unbekannt das es keiner kopieren will und auch nich knackt oder knacken will -> wozu der Kopierschutz
Oder es is superbekannt und jeder will es haben -> Ruck zuck geknackt/gehackt -> nur die ehrlichen Leute zahlen dafür, wozu also der Kopierschutz...

Dazu kommt das der Kopierschutz (wie auch schon oft bei den "großen Firmen" zu sehen war) ungeahnte Probleme verursachen kann, die dann nur die ehrlichen Käufer nervt und vergräult...
(\/) (°,,,°) (\/)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

wenn du wirklich irgendwann ein erfolgreiches Programm schreibst, wirst du es ggf. über einen Publisher vermarkten (DataBecker, KochMedia, etc), dann kannst du die Kopierschutzgeschichten ihm überlassen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
LifeSux
Beiträge: 32
Registriert: 27.09.2008 22:33

Beitrag von LifeSux »

Mein Senf:
1) Ist es nur eines deiner kleinen Programme, wird vmtl. niemand viel Zeit investieren um es zu cracken. Vor allem nicht, wenn es nicht etwas innovatives ist

2) Ist es ein größeres Projekt und nur für einen bestimmten Kundenkreis, erstellst du eben unique Executables und kannst so immer nachvollziehen, woher xyz kommt.

3) Du machst dir den Spaß und veröffentlichst das Ganze auf einem USB Stick, welcher eine unique ID besitzt und bastelst überall kleine 'Abfragen' nach StickID und bestimmten Werten ab.

4) Eine Kombination aus 2 und 3 :>
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Sauer-RAM hat geschrieben:naja ich wüsste halt mal gerne wie das funktioniert
Ganz einfach: gar nicht :mrgreen:
Kaeru Gaman hat geschrieben:wenn du wirklich irgendwann ein erfolgreiches Programm schreibst, wirst du es ggf. über einen Publisher vermarkten (DataBecker, KochMedia, etc)
Es dürfte eigentlich fast keinen Unterschied machen, ob die Normalbürger das Programm illegal verteilen und Du nichts dabei verdienst oder ob eben der Publisher Deine Kopien verteilt und Du nichts dabei verdienst :mrgreen:
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Little John

Beitrag von Little John »

LifeSux hat geschrieben:2) Ist es ein größeres Projekt und nur für einen bestimmten Kundenkreis, erstellst du eben unique Executables und kannst so immer nachvollziehen, woher xyz kommt.
Nur mal aus Interesse gefragt: Was sind denn "unique Executables"?

Gruß, Little John
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Du erstellst fuer jeden Kunden eine eigene, "personalisierte" EXE-Datei, diese ist so aufgebaut dass Du jederzeit bestimmen kannst, fuer wen diese urspruenglich ausgeliefert wurde, und somit kannst Du auch herausfinden, welcher Deiner Kunden die EXE einfach weitergegeben hat. Daher "unique", weil eben keine EXE einer anderen gleicht. Am besten wurstelt man dazu eine verschluesselte Version des Kundennamens irgendwo in den Code hinein, wo es nicht stoert, z.B. ganz einfach ueber ein IncludeFile() oder so.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Little John

Beitrag von Little John »

Ah, verstehe. Danke für die Erklärung!

Gruß, Little John
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Beitrag von Sauer-RAM »

ich will blos die normale kopierfunktion ausschalten damit meine freunde das programm nicht einfach weitereben (die können nicht programmieren oder so also recht auch ein total einfaches programm).
ich will das zum teil aus neugier, langeweile und einfach nur so :mrgreen: mich interesiert das einfach.
"Bildung kommt vom Bildschirm und nicht vom Buch, sonst hieße es ja Buchung."
Dieter Hildebrandt
"Bildung ist Das, was übrig bleibt, wenn man alles was man in der Schule gelernt hat, vergisst. "
Albert Einstein
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

"Die normale Kopierfunktion ausschalten" kannst Du schon rein aus Prinzip vergessen. Denn während des Kopiervorgangs macht Windows nichts anderes als Bytes von der Festplatte zu lesen und an eine andere Stelle zu schreiben. Währenddessen wird aber Dein Programm in keinster Weise ausgeführt, es kann also nicht dafür sorgen, daß es sich nicht kopieren läßt. Das ist wie wenn Du ein Buch auf den Kopierer legst, da kann das Buch dann auch nix mehr machen, es muß einfach hinnehmen, daß es jetzt kopiert wird.

Die einzige Möglichkeit wäre es, ein zweites Programm im Hintergrund laufen zu lassen, welches sämtliche Kopiervorgänge überwacht und dann irgendetwas unternimmt. Aber das ist kein Zuckerschlecken, außerdem wird das Programm dann sicherlich gleich vom Virenscanner erkannt.

Daß also die EXE kopiert wird, kannst Du nicht verhindern, Du mußt also irgendeinen Check einbauen, der beim Starten des Programms dann fehlschlägt und die weitere Ausführung verweigert. Die einfachste Möglichkeit ist es da, beim ersten Start irgendwas auszulesen, was auf einem anderen Rechner höchstwahrscheinlich anders sein wird (irgendwelche Seriennummern oder vielleicht sogar einfach erstmal der Benutzername), das dann in eine Datei zu speichern und beim nächsten Start zu prüfen, ob in der Datei noch der richtige Wert steht. Problem: Wenn einer die Datei löscht bzw. nicht mitkopiert, dann funktioniert Dein Programm wieder. Kannst es aber vielleicht unauffällig machen, z.B. lieferst Du statt nur der EXE noch 5 weitere Dateien mit, und eine davon änderst Du dann, vielleicht sogar die README.TXT oder so, da kannst Du ja irgendwie klug Änderungen dran vornehmen (Anzahl der Leerzeichen in der letzten Zeile oder was weiß ich). Auch dieser Schutz ist natürlich nicht 100% sicher, aber ein normaler Mensch kommt da erstmal nicht drauf.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten