Datei signieren

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Der Eisvogel

Betreff: Datei signieren

BeitragFr, Mai 11, 2012 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich biete auf meiner Website kostenpflichtige Software an. Diese kann über ein PHP-Skript heruntergeladen werden. Diese Software ist mit mehreren Abfragen sowohl offline, als auch online geschützt. Jedoch besteht dennoch die Gefahr, dass sie gecracked wird. Jetzt habe ich mir gedacht, ich könnte die heruntergeladene Datei in dem PHP-Skript irgendwie markieren/signieren, so dass ich im nach hinein feststellen kann, von welchem Benutzer die Datei stammt. Bei den Dateien handelt es sich um EXE und DLL Dateien.
Wo, kann ich in diesen Dateiformaten eine Zeichenkette reinschreiben, ohne dass die Datei beschädigt wird?
Was noch zu einem Hindernis werden könnte ist, dass die Dateien mit UPX gepackt sind.

Es geht mir nur darum feststellen zu können von wem die Datei heruntergeladen wurde, wenn ich eine gecrackte Datei erhalten sollte.

Vielen Dank für eure Hilfe.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Propellator

BeitragFr, Mai 11, 2012 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ein .text segment?
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.

ozzi789

BeitragFr, Mai 11, 2012 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja zumindest was BB Executables angeht ist es ziemlich simpel, öffne die Exe in einem Texteditor (Notepad o.ä)
Jeden String, z.B. "This Programm cannot be run in DOS Mode" , oder irgendwelche Error Strings am Ende, kannst du editieren nach belieben, schau einfach, dass du nichts in der Länge änderst

"This Programm is using Freeimage"
zu" This #1234567 is using Freeimage"


Grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

BtbN

BeitragSa, Mai 12, 2012 0:12
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst auch einfach ans ende beliebigen kram dran hängen.
Vllt. nicht gerade klartext mit dem usernamen, aber nen paar zufallsdaten, in denen der Name versteckt ist.

Der Eisvogel

BeitragSa, Mai 12, 2012 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke, das werde ich bei nächster Gelegenheit mal probieren. Ich freu mich schon ganz doll auf PHP. Rolling Eyes
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

BtbN

BeitragSa, Mai 12, 2012 0:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, einfach mittels file readfile die datei ausgeben, und danach noch das wasserzeichen generieren und ausgeben.

Der Eisvogel

BeitragSa, Mai 12, 2012 0:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Klingt nett auf die Art, aber die Dateien liegen als Zip-Archiv vor und sollen auch als Zip-Archiv gesendet werden. Ich muss also zuerst entpacken und dann wieder verpacken.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

ToeB

BeitragSa, Mai 12, 2012 3:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht mit wie viel aufwand es verbunden wäre.. Aber Nach dem Kauf kannst du ja statt direkt den Download-Link anzubieten schreiben, das der Download Link in einer Email geschickt wird. Ist nur so eine Idee und habe auch Keine Ahnung ob das Funktiniert aber dann könntest du ja ein Programm auf deinem Computer bspw. "anschreiben" mit den Userdaten und dieses Programm erstellt dann eine Individuelle Exe und packt anschließend das ganze in eine Zip oder rar Datei. Dann wird das ganz hochgeladen und der Link als Email geschickt. Das Programm bzw. Das Packen etc. Sollte eigl. kein Problem darstellen, nur das Kontaktieren des Programms mittels PHP wird schwierig .. Oder kann man da auf Java zurückgreifen?

LG
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Der Eisvogel

BeitragSa, Mai 12, 2012 8:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist eine nette Idee, jedoch müsste mein Computer dann optimaler Weise 24/7 laufen, was nicht so wirklich klappt. Dei Verzögerung jedoch könnte man noch verkraften. Aber was ist jetzt wenn ein Update des Programms kommt, dann müsste auf dem Server für jeden User einer Datei liegen, und diese zu erstellenn braucht auch seine Zeit. Ich denke ich werde mich da bei PHP durchwurschteln müssen.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Starwar

BeitragSa, Mai 12, 2012 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
[Folgender Text stellt meine Meinung dar und liefert (k)einen Lösungsansatz für deine Frage]
Ganz ehrlich: Von EA und Ubisoft kennt man die ganzen Qualen mit Aktivierung und Onlinezwang (ich hab seit dem kein Spiel dieser Firmen mehr gekauft). Gecrackt werden die Spiele trotzdem.
Liefere deinem Kunde ein Produkt, das ihn zufrieden stellt und das er weiterempfiehlt. Du wirst zwar die ein oder andere Raubkopie mehr haben, aber mit Sicherheit zufriedenere (und wahrscheinlich auch mehr) Kunden. Außerdem wirst du wohl jede Menge Stress haben wenn deine Prüfung mal nicht funktioniert...
Just my 2 cents.

BtbN

BeitragSa, Mai 12, 2012 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht doch nur um ein Wasserzeichen, was bei auftretenden Raubkopien zeigen soll, wer die Quelle dafür ist.
Wobei das natürlich immer mit vorsicht zu genießen ist, da der/die jenige das ja nicht zwingend selbst getan haben muss.

the FR3AK

BeitragSa, Mai 12, 2012 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Serial Codes, um das Programm zu aktivieren. Die Nummer wird dann in der *.exe hinterlegt und auf ner Datenbank oder so hast dann die zugehörige Nummer zum Benutzer, der es registrieren lassen hat.

Propellator

BeitragSa, Mai 12, 2012 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Eisvogel hat Folgendes geschrieben:
Klingt nett auf die Art, aber die Dateien liegen als Zip-Archiv vor und sollen auch als Zip-Archiv gesendet werden. Ich muss also zuerst entpacken und dann wieder verpacken.


Sollte ein Server doch können? Lege die Dateien ungepackt vor, kopiere sie in ein temporäres verzeichnis, füge das watermark hinzu, packe es mit tar, öffne es mit PHP, dann lösche die temporären Dateien wieder?
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.

ProfJake

ehemals "DTC" / "Fabian Niemann"

BeitragSa, Mai 12, 2012 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst das Zip-Archiv und die Exe-Datei seperat auf dem Server liegen haben.
Wenn dann ein Benutzer das Archiv downloaden will, kannst du die Exe beispielsweise
mit einem Hash versehen, der den Benutzer identifiziert. Das hätte den Vorteil, dass
du eine konstant lange Zeichenkette in die Datei schreibst und dafür beim kompilieren
genügend Platz bereitstellen kannst. (Wie das mit UPX funktioniert? kA)

Sobald die Exe-Datei dann "individualisiert" wurde, packst du sie per PHP in das Zip-Archiv
(z.B mit ZipArchive::addFile) und lässt den Benutzer dann das modifizierte Archiv runterladen.

Das fällt mir jetzt so auf die Schnelle ein.

Der Eisvogel

BeitragSo, Mai 13, 2012 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
@StarWar: Es geht nicht um einen Kopierschutz, sondern um ein Wasserzeichen, womit ich den Ursprung der Datei feststellen kann, um jenem Benutzer den Zugang sperren zu können.

@Propellator: Das PHP das kann weiß ich, aber ich habe noch nie damit gearbeitet, und bin desbezüglich somit noch nicht sehr vertraut, werde mich aber sicherlich durchbeißen können.

Danke auf jeden Fall für die Tips. Ich werde das jetzt bei nächster Gelegenheit mal versuchen umzusetzen.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group