AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein 'Wirklich' nicht sichtbare Verzeichnisse
Thema durchsuchen
Ansicht
Themen-Optionen

'Wirklich' nicht sichtbare Verzeichnisse

Ein Thema von creehawk · begonnen am 26. Apr 2020 · letzter Beitrag vom 4. Mai 2020
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#1

'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 09:29
Moin Moin.

Es gibt viele PC Spiele die beim installieren enorme gepackte/verschlüsselte Datenmengen auf den PC platzieren, die bei Spielstart entpackt/entschlüsselt werden. Entpackt/entschlüsselt man die Spieldateien zu Fuß und sieht sich die Dateien an (XML) finden sich ganz normale Pfadangaben zum beispielsweise Grafikdateien. Was für mich dann heißt: es werden ganz normale Verzeichnisse angelegt und verwendet. Also sollten Sie wenn das Spiel läuft ja wohl zu finden sein. Sind sie aber nicht.

Wie kann ich derartiges mit Delphi erzeugen, also Verzeichnisstrukturen die NICHT im Explorer zu finden sind aber die mein Programm verwendet wie normale Verzeichnisse?

creehawk

P.S. Falls das schon irgendwo abgehandelt wurde: ich habe keine Ahnung wonach ich da suchen soll.....

Geändert von creehawk (26. Apr 2020 um 09:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 10:07
Da gibt es natürlich mehrere Möglichkeiten. Was mir gerade so einfällt:

- Ganz normale Dateien benutzen und dann dafür sorgen, dass sie versteckt werden. Einerseits schwierig, andererseits arbeiten manche Anti-Cheats schon sehr low level sodass das möglich wäre.
- Dateien verwenden, die ohnehin nicht angezeigt werden. Ich denke hier an alternate data streams oder das Flag "Systemdatei"
- Dateien nicht direkt verwenden. Man kann ja auch nur eine Datei auf der SSD ablegen, in der dann die ganzen Dateien gespeichert werden. Sei es als tar, zip, vhd oder ein eigenes Format.
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 10:42
Moin Moin.

So ganz werde ich aus deiner Info nicht schlau.

Also das Systemdatei/Hidden Flag ist gar keine Option, kann ja jederzeit umgangen werden. 'Dateien nicht direkt verwenden?' Verstehe ich gar nicht.

Ich möchte für den normalen Anwender Verzeichnisse definitv nicht sichtbar machen. Dabei aber so verwenden wie normale Verzeichnisse.

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 12:03
Die dritte Option ist ein virtuelles(?) Dateisystem. Also du erzeugzt aus deinen Dateien eine zip-Datei und schreibt in deiner Anwendung Code, der diese öffnet und alle folgenden Anfragen für Dateien aus der zip-Datei bedient, wenn verfügbar. (zip lässt sich natürlich ersetzen durch was anderes wie z.B. VHD)

Mit "Dabei aber so verwenden wie normale Verzeichnisse." geht das natürlich nicht zusammen. das Dateisystem unterscheidet normalerweise einfach nicht zwischen deinem Programm und dem Explorer.

Du hast da übrigens einen deutlichen Widerspruch:
Zitat:
Also das Systemdatei/Hidden Flag ist gar keine Option, kann ja jederzeit umgangen werden.
Andererseits:
Zitat:
Ich möchte für den normalen Anwender Verzeichnisse definitv nicht sichtbar machen.
Der normale Anwender wird die Dateien mit System flag nicht finden. Und vor Experten wirst du sie nicht verstecken können.

Bleibt die Zwischenlösung: ADS. Kann dein Programm ganz normal verwenden, sieht man aber nicht im Explorer.
Siehe Anhang - man beachte den Doppelpunkt im Dateinamen.
Miniaturansicht angehängter Grafiken
ads.png  
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 12:04
Eldos hatte mal so ein "Virtuelles File System".
https://www.greymatter.com/EldoS-Cor...SoIFS)/1038394
Da aber Eldos über die Jahre verkauft wurde müsstest du jetzt auf die suche gehen wo aktuell dies Implementierung zu finden ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 12:23
Was dabei tatsächlich abläuft kann man mit Tools wie dem Process Monitor sehen. Einfach den Process Name im Filter auf den Namen der Exe des Spiels setzen und dann sieht man worauf das alles zugreift.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 13:01
finden sich ganz normale Pfadangaben zum beispielsweise Grafikdateien. Was für mich dann heißt: es werden ganz normale Verzeichnisse angelegt und verwendet.
Das ist aber eine mutige Schlussfolgerung.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.051 Beiträge
 
Delphi 2009 Professional
 
#8

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 14:49
Ich würde vermuten, dass es einen Grund gibt, warum Steam es von 10 Jahren abgeschafft hat, Dateien in einem solchen Archivformat zu speichern. Man sollte sich auch fragen, ob es man es selbst braucht.

Ich habe ein Programm, das bestimmte Grafiken cachet, die der Anwender sieht. Die sind sehr klein, recht viele und haben Namen aus Base64, sodass man sie unter Windows nicht speichern kann. Als Dateiformat habe ich mich damals für 16-Bit RES entschieden. Es hat allerdings kein zentrales Inhaltsverzeichnis und muss daher komplett in den Speicher geladen oder zumindest einmal durchlaufen werden. Für so kleine Dateien geht das. Am einfachsten wäre eigentlich ZIP.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
557 Beiträge
 
Delphi 12 Athens
 
#9

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 15:40
Ich verwende seit einiger Zeit My Lockbox. Die scheinen das zu machen, was du suchst.

Die Laufwerksbelegung wird im Explorer richtig angezeigt (man sieht also eine Diskrepanz zu den sichtbaren Verzeichnissen) und ein Programm wie Everything, das auf die MFT zugreift, findet auch die Dateien. Will man aber solch eine Datei aus Everything heraus öffnen, wird der Pfad nicht gefunden.

Geändert von Benmik (26. Apr 2020 um 15:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#10

AW: 'Wirklich' nicht sichtbare Verzeichnisse

  Alt 26. Apr 2020, 17:21
Also sollten Sie wenn das Spiel läuft ja wohl zu finden sein. Sind sie aber nicht.
Meiner Meinung nach liegst du mit dieser Schlussfolgerung falsch. Denn warum sollte man Dateien nochmal auf einen extra langsamen Datenträger (egal ob HDD oder SSD) packen, nur um sie von dort gleich wieder zu lesen? Klingt umständlich, und ist es IMO auch. Spiele entpacken ihre Daten in aller Regel in den RAM, weshalb sie oft recht hohe Anforderungen an selbigen haben. Vermutlich läuft das per Streams oder sowas in der Richtung.

Grüße
Dalai
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz