Offset der globalen Variablen const in der ausführbaren Datei

Möchte, dass eine ausführbare Datei ihren Status speichert, indem sie ihre eigenen globalen Konstanten ändert. Nur für den Spaß, eine völlig eigenständige ausführbare Datei zu haben.

Ein paar Lösungen / Hacks, die mir einfallen:

Verwenden Sie libelf und lassen Sie das Programm selbst analysieren, um den Offset zu finden.Fügen Sie einen bestimmten Marker hinzu und suchen Sie ihn einfach in der ausführbaren Datei. Ich vermute, das ist vielleicht sogar etwas plattformübergreifend?Verwenden Sie Objekt-Dump-Utils, um die Adresse in der ausführbaren Datei zu ermitteln. Dies muss wahrscheinlich immer als Nachbearbeitungsprozess für die Projekterstellung erfolgen.

Es wäre schön, wenn der Linker diese Informationen bereitstellen würde.

Ist es möglich, dass der Linker den Offset eines schreibgeschützten Abschnitts in der ausführbaren Datei bereitstellt?

Vielen Dank

Antworten auf die Frage(3)

Ihre Antwort auf die Frage