Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei geschützt erzeugen (https://www.delphipraxis.net/40611-datei-geschuetzt-erzeugen.html)

Bernhard Geyer 18. Feb 2005 08:09


Datei geschützt erzeugen
 
Ich erstellen diverse Dateien aus einer verschlüsselten Datenbank und übergebe diese an diverse Interne Komponenten (z.B. TWebbrowser oder ähnliches). Die Dateien werden aktuell im Temp-Verzeichnis erstellt.

Da nun der Anwender sich diese Datei nicht aus dem Temp-Verzeichnis herauskopieren soll (um sie für nicht erlaubte Aktionen zu verwenden) soll diese Datei möglichst "unsichtbar" erzeugt werden. Über Steams zu gehen ist nicht für alle verwendeten Dateien möglich (da die Betrachter z.B. Zukaufkomponenten sind und diese keine LoadFromStream-Methode besitzen. Einfach nur das Hidden-Attribut zu setzen wird auch nur bei unbedarften Anwendern zum Erfolg führen.
Am evtl. Möglichkeit wäre evtl. eine Dateiüberwachung (per Hook) zu implementieren, welche alle Versuche des Dateizugriffs von anderen Prozessen verhindert. Wurde sowas gehen oder hat noch jemand eine andere Idee?

SubData 18. Feb 2005 08:15

Re: Datei geschützt erzeugen
 
Ich würds einfach unterlassen Dateien zu erstellen sondern die Daten entweder direkt in den Speicher zu laden, oder, wenn du nicht auf Dateien verzichten kannst / willst, die Dateien mit nem Crypt versehen, dann sind sie für den Benutzer unbrauchbar...
Ich kenne einige Tools, die jegliche Art von Datei Handles / Datei Sperrungen aufheben können, von daher ist der Schutz nicht wirklich brauchbar...

Bernhard Geyer 18. Feb 2005 08:48

Re: Datei geschützt erzeugen
 
Zitat:

Zitat von SubData
Ich würds einfach unterlassen Dateien zu erstellen sondern die Daten entweder direkt in den Speicher zu laden, oder, wenn du nicht auf Dateien verzichten kannst / willst, die Dateien mit nem Crypt versehen, dann sind sie für den Benutzer unbrauchbar...

Aber um die Daten in die Komponente zu laden müssen die Dateien kurzzeitig unverschlüsselt gespeichert werden.

Zitat:

Zitat von SubData
Ich kenne einige Tools, die jegliche Art von Datei Handles / Datei Sperrungen aufheben können, von daher ist der Schutz nicht wirklich brauchbar...

Das es einen 100%igen Schutz geben wird ist mir schon klar. Aber die Hürde sollte möglichst hoch sein.

SubData 18. Feb 2005 08:55

Re: Datei geschützt erzeugen
 
Warum müssen die Daten unverschlüsselt gespeichert werden?
Kannst du nicht wärend des Ladens der Daten, einen entschlüsselungs Algo verwenden?

Bernhard Geyer 18. Feb 2005 09:04

Re: Datei geschützt erzeugen
 
Zitat:

Zitat von SubData
Warum müssen die Daten unverschlüsselt gespeichert werden?
Kannst du nicht wärend des Ladens der Daten, einen entschlüsselungs Algo verwenden?

Es sind (Kauf-)Komponenten im Einsatz die ich nicht verändern/beeinflussen kann und diese Laden nur unverschlüsselte Dateien.

SubData 18. Feb 2005 09:13

Re: Datei geschützt erzeugen
 
Ok das ist dann natürlich schlecht...
Kannst du den Komponenten ein File-Handle zum Laden übergeben, oder musst du Pfad / Dateiname übergeben?
Ich denke, wenn du direkt Pfad und Dateiname übergeben musst, würde deine eigene Sperre die Dateien auch für die Komponenten sperren...

Ansonsten hilft dir vielleicht das hier:
http://www.chaho.de/templates/show_a...&ID=39&GetID=2

Edit: Das hier evtl auch: http://www.chaho.de/templates/show_a...&ID=35&GetID=2

Chewie 18. Feb 2005 09:16

Re: Datei geschützt erzeugen
 
Wieso lagerst du dann das Erstellen der Datei nicht in einen kritischen abschnitt aus? Dann funkt niemand dazwischen. OK, ist natürlich nur sinnvoll, wenn das Erstellen nur sehr kurz dauert.

SubData 18. Feb 2005 09:18

Re: Datei geschützt erzeugen
 
Der kritische Abschnitt sperrt aber nicht automatisch die Datei...
Er möchte sie ja für Windows bzw. andere Programme / den Explorer etc. sperren und nicht nur für seine eigenes Programm.

Chewie 18. Feb 2005 09:21

Re: Datei geschützt erzeugen
 
Zitat:

Zitat von SubData
Der kritische Abschnitt sperrt aber nicht automatisch die Datei...

Nein, aber er verhindert, dass andere Prozesse (vielleicht ausgenommen von Interrupts) zur Ausführung gebracht werden, die die Datei lesen könnten. Erst danach können wieder andere Prozesse ausgeführt werden, aber da ist die Datei ja schon weg.

Bernhard Geyer 18. Feb 2005 09:21

Re: Datei geschützt erzeugen
 
Zitat:

Zitat von SubData
Der kritische Abschnitt sperrt aber nicht automatisch die Datei...
Er möchte sie ja für Windows bzw. andere Programme / den Explorer etc. sperren und nicht nur für seine eigenes Programm.

Stimmt. Und unter Umständen dauert das Laden der Datei auch ein paar Sekunden.

Möglich wäre auch ein Kaufkomponenten welche folgende Bedingungen einhält:
- Royality-Free, Nur Entwickler-Lizenzen
- Lauffähig ohne nötige Installation (Maximal DLL-Interface, Kein COM)
- Lauffähig wenn möglich ab Win98 (Notfalls ab NT)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz