Char-Array einer PE-Datei hinzufügen
-
Ich möchte ein Char-Array an eine .exe Datei "ranhängen". Diesen möchte ich von der .exe Datei dann auslesen können. Geht das ohne Ressourcen zu verwenden?
-
was willst du denn genau machen?
-
Ich brauche sozusagen die Adresse des Arrays, den ich ans Ende einer Executable schreiben will, um ihn von der .exe aus auszulesen. Ich dachte an CreateFile() und WriteFile(), um den String an die ausführbare Datei ranzuschreiben, aber ich brauche halt einen Weg, an den String auch ranzukommen. Was hälst du von der Idee, eine Art Identifier am Anfang des Strings zu benutzen?
Beispiel: IDMYSTRING-diesistmeinstring-\0
Die .exe, an die der String dann geschrieben wird, sucht dann nach IDMYSTRING in ihr selbst und gibt den Rest aus...
-
@Sone: schreib hier mal was, deine Signatur passt hier wunderbar
-
...
-
Wie wärs wenn du einfach das array als const string einbettest ?
const char* GetStringWithourRessource(int id) { switch(id) { case 0: return "test1"; case 1: return "test2"; } return ""; }
Irgendwas in der Richtung ?
-
skullyan schrieb:
Was hälst du von der Idee, eine Art Identifier am Anfang des Strings zu benutzen?
Was hältst du von der Idee den Identifier am Ende anzuhängen.
Dann muss man nicht suchen und sich nicht drauf verlassen dass der Identifier nicht zufällig in der .exe vorkommt, sondern weisst dass er immer am Ende des Files steht. In bzw. vor den Identifier kannst du dann die Länge des Strings schreiben. Dann musst du nur den Identifier + Länge ganz am ende des Files lesen, und kannst dann über die Länge ausrechnen wo der String anfängt.
Ich würde aber vorschlagen eher Resourcen oder gleich externe Datenfiles zu verwenden. Ist weniger Aufwand und macht weniger Probleme.