Kopierschutz V1.1

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Kopierschutz V1.1

Beitrag von Sauer-RAM »

Hi,
ich habe einen Kopierschutz programmiert, der "normale" Computernutzer davon abhalten sollte Programme zu kopieren. Gegen Programmierer hilft dieser Schutz allerdings nicht, da man ihn leicht knacken kann. Ich wollte mal wissen was ihr davon haltet.
Hier ist mal der Code

Code: Alles auswählen

Define a.s
a = Str(Date())

Name.s = InputRequester("Kopierschutz V1.1","Programmname (ohne .exe)","")
Name + ".exe"
If CreateFile(0,"E:\Sich_Eige_Dateien\Purebasic\Programme(.pb)\Kopier.pb")  ;Naja Bei euch ist es bestimmt ein anderer Pfad, wo die Purebasic Dateien abgespeichert werden.
  WriteStringN(0,"If (" + a + ") = GetFileDate(ProgramFilename(),#PB_Date_Created)")
  WriteStringN(0,"SetEnvironmentVariable(" + Chr(34) + "progkopi" + Chr(34) + "," + Chr(34) + "1" + Chr(34) + ")")
  WriteStringN(0,"Else")
  WriteStringN(0,"SetEnvironmentVariable(" + Chr(34) + "progkopi" + Chr(34) + "," + Chr(34) + "2" + Chr(34) + ")")
  WriteStringN(0,"MessageRequester("+ Chr(34) + "Programm" + Chr(34) + "," + Chr(34) + "ERROR: Bitte wenden Sie sich an den Hersteller." + Chr(34) + ")")
  WriteStringN(0,"end")
  WriteStringN(0,"endif")
  WriteStringN(0,"; IDE Options = PureBasic 4.31 (Windows - x86)")
  WriteStringN(0,"; CursorPosition = 7")
  WriteStringN(0,"; EnableXP")
  CloseFile(0)
Else
  MessageRequester("Kopierschutz V1.1","Kann Kopierschutz-Include-Datei nicht erstellen.")
  End
EndIf

Repeat
  Delay(1000)
Until -1 <> FileSize(Name)
If DeleteFile("E:\Sich_Eige_Dateien\Purebasic\Programme(.pb)\Kopier.pb")  ;Da auch
Else
  MessageRequester("Kopierschutz V1.1","Kann Kopierschutz-Include-Datei nicht löschen. Bitte manuel löschen unter: E:\Sich_Eige_Dateien\Purebasic\Programme(.pb)\Kopier.pb")
EndIf
SetFileDate(Name,#PB_Date_Created,Val(a))
MessageRequester("Kopierschutz V1.1","Datei geschützt.")
Wenn man das Programm gestartet und den Name des Programmes eingegeben hat, muss man das Programmm das geschützt werden soll zur exe compilieren.
P.S. Ach und bei dem Prog das geschützt werden soll muss in der ersten Zeile stehen Includefile "Kopier.pb"

THEMAVERSCHOBEN [Feedback - Anwendungen > Code, Tipps und Tricks]
Andesdaf
"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
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Re: Kopierschutz V1.1

Beitrag von Sauer-RAM »

Jaaa ähh ich glaube ich habe vergessen dass ich mich über eine Rückmeldung freuen würde.
:o :o :o
"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
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Kopierschutz V1.1

Beitrag von ts-soft »

Wir sind hier in "Feedback - Anwendungen", ich sehe keine Anwendung.

Tipps & Tricks würde mehr Sinn ergeben, ansonsten hab ich nicht verstanden
was der Code überhaupt macht (wo der Kopierschutz versteckt ist :mrgreen: )
und mit festen Pfaden kann man das ja nirgends einbauen.

Gruß
Thomas
Benutzeravatar
Kurzer
Beiträge: 1618
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Kopierschutz V1.1

Beitrag von Kurzer »

Irgendwie prüft die resultierende Exe dann wohl wann sie erzeugt worden ist oder so.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Re: Kopierschutz V1.1

Beitrag von Sauer-RAM »

ts-soft hat geschrieben:Wir sind hier in "Feedback - Anwendungen", ich sehe keine Anwendung.

Tipps & Tricks würde mehr Sinn ergeben, ansonsten hab ich nicht verstanden
was der Code überhaupt macht (wo der Kopierschutz versteckt ist :mrgreen: )
und mit festen Pfaden kann man das ja nirgends einbauen.

Gruß
Thomas
In der Zeile 6. wird die Includedatei erzeugt, die dann in der Exe includiert wird. Die überprüft dann das Erstellungsdatum, so dass die Datei nur ausgeschnitten und wieder eingefügt, aber nicht kopiert werden kann.
"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
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Re: Kopierschutz V1.1

Beitrag von Marvin »

Dank SetFileDate() ist dieser Schutz nur ziemlich einfach zu umgehen. :wink:
Benutzeravatar
AndyMars
Beiträge: 141
Registriert: 08.09.2004 11:59
Computerausstattung: Win11 Prof 64bit, i5-13500 @ 4.8 GHz, 32GB RAM, Nvidia RTX 4070 TI
Wohnort: Zürich, Schweiz
Kontaktdaten:

Re: Kopierschutz V1.1

Beitrag von AndyMars »

Meine Gedanken und Anregungen:

Nachteile:
- Ja, der Schutz wäre wirklich einfach zu umgehen... Auch via Programme wie ReDateIt - oder ein böser Mensch mit simplen Batchkenntnissen oder Programmierkenntnissen könnte gleich eine Art "Installer" basteln. Wenn also jemand die Methode raus kriegt und sich das rum spricht...
- Das Programm muss auf einem wiederbeschreibaren Medium ausgeliefert werden.

Vorteile:
- Wirklich s-i-m-p-e-l

Aber trotzdem - die Idee finde ich witzig. Für Programme ohne grosse Verbreitung sicherlich ein einfaches Hemmnis für Dumpfbacken... ;)

Was mir nicht ganz klar ist: Irgendwie beisst sich der Hund in den Schwanz - ich meine, die Prüfung geht ja auf die Sekunde - wie kannst du so schnell dein Progrämmli starten und dann sofort die Excutable compilieren lassen? Ich denke da müsstes du noch eine Erklärung zu deinem Startbeitrag hinzufügen...

Wenn man dem Kopierschutz-Programm das Datum und den Pfad als ProgrammParameter() übergäbe, dann könnte man das ganze in die Werkzeuge vom PureBasic-Editor eintragen und automatisch beim Compilieren ausführen lassen... nur so eine Idee.

Und was hat es mit der Umgebungsvariablen auf sich?

Warum löschst du die Datei wieder? Du kannst sie ja einfach immer wieder überschreiben...
Grüsse von AndyMars
Benutzeravatar
Sauer-RAM
Beiträge: 326
Registriert: 13.04.2009 16:22
Computerausstattung: Lenovo ThinkPad X230t Convertible
Wohnort: Haslach i. K.

Re: Kopierschutz V1.1

Beitrag von Sauer-RAM »

AndyMars hat geschrieben:Was mir nicht ganz klar ist: Irgendwie beisst sich der Hund in den Schwanz - ich meine, die Prüfung geht ja auf die Sekunde - wie kannst du so schnell dein Progrämmli starten und dann sofort die Excutable compilieren lassen? Ich denke da müsstes du noch eine Erklärung zu deinem Startbeitrag hinzufügen...

Wenn man dem Kopierschutz-Programm das Datum und den Pfad als ProgrammParameter() übergäbe, dann könnte man das ganze in die Werkzeuge vom PureBasic-Editor eintragen und automatisch beim Compilieren ausführen lassen... nur so eine Idee.

Und was hat es mit der Umgebungsvariablen auf sich?

Warum löschst du die Datei wieder? Du kannst sie ja einfach immer wieder überschreiben...
Da issn Repeat. es überprüft nur jede Sekunde ob die Datei gerade verwendet wird.

Mir Umgebungsvariable wollt ich Kopierschutz V1.2 den Schutz noch testen lassen aber irgendwie blick ich das noch nicht so richtig.

Ich lösche sie weil ich halt Speicherplatz sparen will. :mrgreen:
Wie mit dem Spruch:"Wer das byte nicht ehrt, ist des MegaBytes nicht wert."("Wer den Cent nicht ehr, ist der Euros nicht wert.")
AndyMars hat geschrieben:Nachteile:
- Ja, der Schutz wäre wirklich einfach zu umgehen... Auch via Programme wie ReDateIt - oder ein böser Mensch mit simplen Batchkenntnissen oder Programmierkenntnissen könnte gleich eine Art "Installer" basteln. Wenn also jemand die Methode raus kriegt und sich das rum spricht...
- Das Programm muss auf einem wiederbeschreibaren Medium ausgeliefert werden.
Ja es ist halt nur vor "Nichtprogrammirern" und Programmierern die nicht auf so eine simple Idee kommen sicher. Auserdem will ich es noch mit anderen Methoden an einnen Rechner ketten.(IP Nummer, Seriennummer Benutzername und so)
Das mit dem Datenträger hab ich mir auch schon mal überlegt. Ich will dann eine Installationsdatei schreiben die Das dann auch von CD aus Macht.
"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
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Kopierschutz V1.1

Beitrag von c4s »

Also "möglichst effizient, elegant und beispielhaft oder einfach nur cool" finde ich deinen Code ehrlich gesagt nicht. Die Funktionsweise hättest du im Anfangspost auch besser erläutern können, damit nicht Fragen entstehen wie "was macht der eigentlich?". Zumindest mich hat diese Undurchsichtigkeit bzw. Laienhaftigkeit davon abgehalten ihn genauer anzuschauen.
Sauer-RAM hat geschrieben:Auserdem will ich es noch mit anderen Methoden an einnen Rechner ketten.(IP Nummer, Seriennummer Benutzername und so)
Das mit dem Datenträger hab ich mir auch schon mal überlegt. Ich will dann eine Installationsdatei schreiben die Das dann auch von CD aus Macht.
Lass dich davon nicht abhalten. Bedenke nur, dass z.B. Benutzername und IP-Nummer variabel sind.

Kleiner Hinweis: Bitte auch ein wenig auf Rechtschreibfehler achten, um möglicherweise beim Betrachter entstehenden Augenkrebs entgegenzuwirken - Danke.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Re: Kopierschutz V1.1

Beitrag von Joel »

Du könntest eine Loste von PC Infos verwenden:

- Computername
- BOIS Informationen
- Gerätenamen


Wobei sich das erste ändern kann. Aber wäre mal Interessant zu wissen, wie man so was per Bios schützen kann, bzw. Information vom BOIS die nicht veränderbar sind.
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Antworten