Kompilierung zur Laufzeit? / In exe Variable (global) ändern



  • Hi,

    Ich möchte gerne mit einem Programm die Variable (die in der exe steht, sieht man auch z.B. mit Notepad, Hex-Editor) ändern, bzw. die exe zur Laufzeit kompilieren (mit der Variable, die ich im 1. Programm dynamisch abfrage).
    Ich hab schon was mit Reflection gelesen, aber das geht anscheinend nur bei Java, C#, .NET, ASP o.Ä..

    Ich hoffe ihr habt verstanden was ich meine, sonst bitte fragen 😉

    Andi



  • Wenn du die Position der "Variable" in der exe Datei kennst, kannst du den Wert einfach ändern, indem du die stelle in der exe Datei binär überschreibst.
    Dabei darfst du aber nicht die Größe (in einem String die Länge) ändern, weil du sonst alle Adressen in der Exe-Datei neu berechnen müsstest 😉



  • blöde Frage, aber wieso nicht einfach die Variable, die von 2 Programmen verwendet wird, in einer externen datei speichern? dürfte "etwas" sicherer sein



  • BestBlade schrieb:

    blöde Frage, aber wieso nicht einfach die Variable, die von 2 Programmen verwendet wird, in einer externen datei speichern? dürfte "etwas" sicherer sein

    Hab ich auch früher. Aber es sieht halt schöner aus, als wenn man ne 2. Datei hat, wo alle möglichen Informationen drinnen stehen.

    mfG, andreas



  • cppcluster schrieb:

    BestBlade schrieb:

    blöde Frage, aber wieso nicht einfach die Variable, die von 2 Programmen verwendet wird, in einer externen datei speichern? dürfte "etwas" sicherer sein

    Hab ich auch früher. Aber es sieht halt schöner aus, als wenn man ne 2. Datei hat, wo alle möglichen Informationen drinnen stehen.

    mfG, andreas

    Nein, es ist nicht annährend so gut.

    Gruß



  • Was soll denn daran "unschön" sein? Konfigurationsdateien sind doch ein ziemlich probates Mittel - einfach, aber effektiv...
    Alternativ kannst Du natürlich auch einfach das 2. Programm aus dem ersten Programm heraus starten, und die abgefragte Variable als Parameter übergeben.


Anmelden zum Antworten