Laden...

Virtuelle Datei erzeugen

Erstellt von Tempelbauer vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.367 Views
T
Tempelbauer Themenstarter:in
86 Beiträge seit 2009
vor 13 Jahren
Virtuelle Datei erzeugen

Hallo

ich nutze eine externe Bibliothek. Diese verarbeitet eine Datei. Damit ich die Bibliothek nutzen kann muss folglich die entsprechende Datei auf dem Dateisystem liegen.
Jedoch möchte ich die Datei schützen (ich hab sie erstellt und will nicht dass man sie kopieren kann).

Mein Problem ist: ich kann sie zwar verschlüsselt ablegen, aber zur verwendung muss sie entschlüsselt auf dem dateisystem liegen.
gibts nicht einen weg sie in den arbeitsspeicher zu mappen und sie von dort aus zu nutzen (damit wenigstens keine script-kiddies dran kommen)? zum mappen von dateien gibts ja funktionen, aber wie übergeb ich die der bibliothek? alternativ zu "C:\meinedatei.txt" müsste es was geben wie "ram:\speicheradresse" damit das funktioniert.

was könnte ich da tun?

4.207 Beiträge seit 2003
vor 13 Jahren

ASP.NET oder andere Technologie?

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo Tempelbauer,

wenn die Datei als Parameter einen Dateinamen bzw. -pfad bekommt, dann musst du die Datei (unverschlüsselt) auf die Platte (genauer in ein Dateisystem) schreiben. Einen anderen Weg gibt es nicht. Dein Wunsch ist leider unerfüllbar. Was anderes wäre es, wenn die Bibliothek auch einen Stream als Parameter akzeptieren würden. Dann könntest du einen MemoryStream verwenden.

herbivore

5.742 Beiträge seit 2007
vor 13 Jahren

alternativ zu "C:\meinedatei.txt" müsste es was geben wie "ram:\speicheradresse" damit das funktioniert.

Du könntest natürlich ein RAM-Laufwerk einrichten und dieses dann in irgendeinen tief verschachtelten Ordnerpfad mounten - aber für wirklich sinnvoll halte ich das nicht. Der Aufwand überstiege da ganz klar den praktisch nicht vorhandenen Nutzen.

Kannst du evtl. dem aktuellen Benutzer die Rechte an dieser Datei entziehen?

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo winSharp93,

wenn man eine RAM-Disk verwendet, liegt die Datei zwar formal im RAM, praktisch gesehen, aber auf einem normalen Dateisystem, das sich genauso ansprechen lässt, wie ein Dateisystem auf der Platte. Man hat also nichts gewonnen. Ich hatte diesen Umstand mit meinem Einschub "(genauer in ein Dateisystem)" angedeutet.

herbivore

5.742 Beiträge seit 2007
vor 13 Jahren

Man hat also nichts gewonnen.

Nein, nicht wirklich.

Theoretisch könnte man bestimmt auch irgendwie ein Kernelhook schreiben, dass Dateizugriffe des externen Tools auf eine "Dummydatei" irgendwie in den RAM umleitet - aber da sollte man sich wirklich fragen, was einem das ganze wert ist.

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

eventuell sind Memory Mapped Files ein Alternative. Wird in .net 4.0 unterstützt.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

T
Tempelbauer Themenstarter:in
86 Beiträge seit 2009
vor 13 Jahren

wenn die Datei als Parameter einen Dateinamen bzw. -pfad bekommt, dann musst du die Datei (unverschlüsselt) auf die Platte (genauer in ein Dateisystem) schreiben. Einen anderen Weg gibt es nicht. Dein Wunsch ist leider unerfüllbar. Was anderes wäre es, wenn die Bibliothek auch einen Stream als Parameter akzeptieren würden. Dann könntest du einen MemoryStream verwenden.

ich habs befürchtet. aber ich wollt sichergehn, obs da nicht doch ne möglichkeit gibt.
leider akzeptiert die bibliothek nur einen dateispad und keine streams. sonst hätte ich das längst mit nem memorystream gemacht.
dann werd ich mal schauen ob ichs nicht auf andere weise wenigstens eingrenze. also dass ich die verschlüsselte datei entpacke, irgendwo versteckt ablege und nach dem schließen der anwendung wieder lösche. dann gibts zwar trotzdem nicht mehr sicherheit, aber ich kann potenziellen raubkopierern wenigstens ein steinchen in den weg legen

danke für eure antworten

4.207 Beiträge seit 2003
vor 13 Jahren

Kannst Du ein URI-Schema als Adresse übergeben?

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de