programmeinstellungen in leeren speicher der exe schreiben <-- VERFALLEN
-
der vorteil ist man hat nicht noch irgendwelche zb: *.dat (binary) datein rumliegen im verzeichnis des programmes
-
wenn ich zb eine const char* constantbuffer[80]; erzeuge sollte diese doch zb in der exe vom kompiler immer dieselbe speicheraddresse zugewiesen bekommen, oder irre ich da, zumindestens sollte man es im exe header auslesen können wo die adresse des constantbuffer liegt?
-
buntehaare schrieb:
der vorteil ist man hat nicht noch irgendwelche zb: *.dat (binary) datein rumliegen im verzeichnis des programmes
Im Verzeichnis des Programms lässt man solche Daten mangels Schreibrechten sowieso nicht rumliegen.
Was du vorhast, ist ein massives Sicherheitsproblem. Dein Programm muss mit Adminrechten laufen und ist von daher schon ein potenzielles Angriffsziel. Und dann bietet es gleich noch die Möglichkeit, dauerhafte Änderungen an sich selbst vorzunehmen, ohne dass man die Integrität der Datei z.B. durch eine Checksumme prüfen könnte.
Zusammengefasst: Unter den aktuellen Betriebssystemen wird das durch das Rechtesystem verhindert. Und es ist eine schlechte Idee.
-
tja danke dann wird das wohl nix, hmmmm...
-
Das wird auch unter nicht so modernen Betriebssystemen ohne Rechtesystem verhindert. Denn alle die ich jemals benutzt habe verhindern das Schreiben in ausgeführte Programmdateien.
-
naja wobei wenn die exe geladen ist, ja die auf der festplatte nicht mehr relevant ist für das system, muss ja eh jedes programm n den speicher geladne werden, oder kann es sein das zuerst nur ein teil des programmes geladen ist, sagen wir ne exe hat 2mb , und es werden erst nur 1mb geladen und nacher 1mb nachgeladen?, nein doch wohl eher nicht!
-
buntehaare schrieb:
naja wobei wenn die exe geladen ist, ja die auf der festplatte nicht mehr relevant ist für das system, muss ja eh jedes programm n den speicher geladne werden, oder kann es sein das zuerst nur ein teil des programmes geladen ist, sagen wir ne exe hat 2mb , und es werden erst nur 1mb geladen und nacher 1mb nachgeladen?, nein doch wohl eher nicht!
Die Datei ist prinzipiell geschützt. Probiers aus. Gib dir Adminrechte und versuch eine ausgeführte Datei zu löschen.
-
SeppJ: Dieses Problem könnte man noch umgehen, indem man eine neue exe startet, die die alte modifiziert. Ich sehe aber auch keinen Sinn darin.
-
SeppJ schrieb:
Die Datei ist prinzipiell geschützt. Probiers aus.
Ich glaube, so einen Schutz gibt es nur unter Windows.
-
MFK schrieb:
SeppJ schrieb:
Die Datei ist prinzipiell geschützt. Probiers aus.
Ich glaube, so einen Schutz gibt es nur unter Windows.
Nein. Du musst schon ganz schön suchen nach einem System bei dem man ausgeführte Dateien verändern darf.
edit: Ich muss die Bemerkung zurückziehen: Unter Linux geht es doch. Komisch, könnte schwören, dass ich das einmal im Rahmen dieses Forums ausprobiert hatte und da ging es nicht. Diese Frage kommt schließlich alle paar Wochen mal auf.
-
es ging ja darum programmeinstellung in der exe zu speichern