Wie mache ich es das c++ eine bestimmte Datei findet in egal welchem Ordner durch den Namen?
Hey, ich versuche im Moment einen Injector zu machen. Der Injector findet die dll die Injected wird direkt im selben Ornder. (wenn sie einen bestimmten Namen hat.) . Ich möchte aber das c++ die Datei auf einer Festplatte findet z.B. einen Temp Folder auf C:\\ (Es soll als Protection dienen.) . Mein aktuelller Code:
bool DoesFileExist(const char* name)
{
if (FILE* file = fopen( name, "r")) {
fclose(file);
return true;
}
return false;
}
*/ Er findet direkt die Datei die Injected wird im gleichem Ordner durch den Namen. (Deshalb "name")
1 Antwort
std::filesystem bietet einige Funktionen an, die die Suche erlauben.
Eine "DoesFileExist"-Funktion gibt es da by the way auch.
Einfach einmal durchlesen, gegebenenfalls googeln:
https://en.cppreference.com/w/cpp/filesystem
Das ganze Dateisystem nach einem einzelnen File zu durchsuchen halte ich aber für nicht sinnvoll, dass ist auch ziemlich inperformant. Besser wäre wohl den Pfad irgendwie dem Programm zu übergeben oder einen Pfad zu nutzen, an dem solche Dateien normalerweise liegen.
Inwiefern das eine "Protection" darstellen soll, wird mir nicht ganz klar. Wovor soll das schützen, ich sehe darin keinen Mehrwert, den File nicht einfach dahin zu packen, wo das Programm auch liegt.