Datei verstecken
-
Guten Morgen
Wie kann ich eine Datei(*.txt), die ich erstelle, verstecken??
Ich möchte nicht Rechtsklick auf die Datei, etc. sondern ein C-Befehl...Danke im Voraus
P.s. Windows, VS 05
-
Such mal nach Datei-Attributen.
-
Zum Beispiel CreateFile mit FILE_ATTRIBUTE_HIDDEN (siehe Doku).
-
naja, jeder der sich halbwegs mit windows auskennt, deaktiviert das nicht-anzeigen von versteckten dateien
-
Ja, wie du sagst "jeder der sich einwenig auskennt", aber ich kenne viele die das nicht wissen...
-
Was ich vergessen hab....Danke _matze
-
08mmarte schrieb:
Was ich vergessen hab....Danke _matze
Schittebön!
-
Ich würde der Datei keine besonderen Rechte verpassen, sondern die Datei wirklich versuchen zu vertecken.
Zb. im Windows/.. Ordner unter einen Namen der auf das Projekt nicht schliesst, wenn natürlich ewig in diese Datei geschrieben wird, ist es nicht mehr so effektiv. Sollte es sich aber um eine Configdatei handeln, lässt sich das ganz gut bewerkstelligen.
Aber wie gesagt, wenn Leute sich etwas auskennen ist das alles kein Problem, eventuell ist es da besser den Inhalt zu verschlüsseln.
-
Es ist die HIghscore-Datei eines Spiels...(*.txt)...
Ich habe mir gedacht, ich bennene sie einfach um mit einer erfundenen datei Endung z.B. *.gaga
-
Schreib's doch in die Registry...
Ich bekomme jedesmal Kopfschmerzen, wenn ich da drinnen was suche.
-
Vitamin-C schrieb:
Ich würde der Datei keine besonderen Rechte verpassen, sondern die Datei wirklich versuchen zu vertecken.
Zb. im Windows/.. Ordner unter einen Namen der auf das Projekt nicht schliesst, wenn natürlich ewig in diese Datei geschrieben wird, ist es nicht mehr so effektiv. Sollte es sich aber um eine Configdatei handeln, lässt sich das ganz gut bewerkstelligen.
Aber wie gesagt, wenn Leute sich etwas auskennen ist das alles kein Problem, eventuell ist es da besser den Inhalt zu verschlüsseln.ja genau... dafür braucht das Programm zwar dann Admin-Rechte, um zu laufen, aber hey... is doch eh egal
-
08mmarte schrieb:
Es ist die HIghscore-Datei eines Spiels...(*.txt)...
Ich habe mir gedacht, ich bennene sie einfach um mit einer erfundenen datei Endung z.B. *.gagada ist nicht verstecken doch gar nicht unnötig.
lass die datei einfach offen und schreib als letzte zeile eine checksumme, von der nur du weißt, wie man sie berechnet. und beim laden wird die checksumme natürlich geprüft und wenn sie nicht stimmt, wird die higscoredatei leider ignoriert. ist für den mogler viel viel schwieriger aufzumachen, als ne versteckte datei zu finden.
-
volkard schrieb:
da ist nicht verstecken doch gar nicht unnötig.
Was für ein Konstrukt! Ich liebe doppelte Verneinung!
-
Ich glaube ich werde mal das mit der Checksumme probieren...
-
Ich glaube ich werde mal das mit der Checksumme probieren...
Aber poste halt nicht, wie man sie berechnet...
Den Algorithmus musst du gut tarnen, sodass man ihn nicht ganz einfach im
Disassembler erkennt.
Dann ist das eine gute Idee.
-
Schon klar...:D
-
Da war mal was mit alternate Streams oder so. Mit fopen() kann man noch einen
oder mehrere Datenströme an ein File dranpappen. Mir fällt nur der Begriff nicht
einEs war, glaube ich, mal in der c't. Ausprobiert hatte ich das.
-
Scheppertreiber schrieb:
Da war mal was mit alternate Streams oder so. Mit fopen() kann man noch einen
oder mehrere Datenströme an ein File dranpappen. Mir fällt nur der Begriff nicht
einsolche schrägen sachen gehen nur unter windoofs und unter dem alten 68k mac-os, glaube ich. da kannst du 'ne datei haben, die im explorer als '0 bytes' angezeigt wird, die aber trotzdem voll bis oben hin ist.
-
Scheppertreiber schrieb:
Da war mal was mit alternate Streams oder so.
uih, das ist ein gutes versteck.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.D:\tmp>dir
Volume in Laufwerkhat keine Bezeichnung.
Volumeseriennummer: A42C-7D02Verzeichnis von D:\tmp
18.01.2009 20:01 <DIR> .
18.01.2009 20:01 <DIR> ..
19.01.2009 17:07 104 main.cpp
1 Datei(en) 104 Bytes
2 Verzeichnis(se), 436.338.364.416 Bytes freiD:\tmp>type main.cpp
#include <iostream>
using namespace std;int main()
{
cout<<"hello, world!\n";
return 0;
}D:\tmp>echo test > main.cpp:highscore.txt
D:\tmp>dir
Volume in Laufwerkhat keine Bezeichnung.
Volumeseriennummer: A42C-7D02Verzeichnis von D:\tmp
18.01.2009 20:01 <DIR> .
18.01.2009 20:01 <DIR> ..
19.01.2009 17:09 104 main.cpp
1 Datei(en) 104 Bytes
2 Verzeichnis(se), 436.338.364.416 Bytes freiD:\tmp>type main.cpp:highscore.txt
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
ist falsch.D:\tmp>type "main.cpp:highscore.txt"
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
ist falsch.D:\tmp>rem mist
D:\tmp>notepad main.cpp:highscore.txt
D:\tmp>echo jupp, habe nur test gesehen
jupp, habe nur test gesehenes müßte reichen, eine beschreibbare settings.ini zu haben und die highscores in der settings.ini:highscores.txt zu speichern.
und wer das dann mit nem normalen packer packt oder so uploaded, schickt NICHT die highscores mit, wie praktisch! bereits der transport mit nem USB-stick, der wie fast alle nur fat32-formatiert ist, hat den alternate stream schon weg.
-
zugegeben, das scheint optimal für highscores, aber was ist, wenn das programm auf einem nicht-ntfs-laufwerk landet?