Angenommen, du weißt den Offset: Dann ist es kein Problem, das zu tun, wenn es sich nicht um die eigene EXE handelt.
Zu beachten ist dabei nur, dass der neue Wert genau so lang ist wie der alte Wert, sprich dass er die gleiche Byte-Zahl hat. Bei Zahlen mag das einfach sein, bei Strings ist das schon eher ein Problem.
Ist dein String kürzer, könntest du versuchen, den übrigbleibenden Raum mit 0en aufzufüllen. Ist er größer, kannst du ihn nicht ungekürzt reinschreiben, da ansonsten die nachfolgenden Adressen nicht mehr stimmen würden.
Wilst du deine eigene EXE verändern, musst dir ein paar Tricks einfallen lassen.
Eine Möglichkeit wäre, die laufende Datei zu kopieren, die kopierte zu verändern und beim Schließen des Programms eine BAT anzulegen, die dann die original-EXE löscht und die kopierte Datei in dem Originalnamen umbenennt.
Wie auch immer, der Sinn bleibt fraglich. Wenn du das bei einer anderen EXE machen willst, sieht das nach einer Art Patchengine aus. Da gibt es schon fertige, bessere, bestimmt sind auch welche
OS und für Delphi.
Und wenn du so die Einstellungen deines Programms verändern willst, würd ich mir mal Gedanken um mein Programmdesign machen. Veränderbare Einstellungen sollten in der Registry, in Datenbanken, INI-Dateien etc. gespeichert werden, aber nicht in der EXE.