Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ist es möglich, und wenn ja wie, Werte also zum Bsp. int = 5 in einer .exe zu speichen, also ich beschrieb am besten mal was ich genau meine, damit es zu keine Missverständnissen kommt. Ich möchte ein Programm schreiben, bei dem der Benutzer eine Werte eintragen kann, die .exe schließen und nachher, wenn der Benutzer die .exe wieder öffnet, soll der Wert immernoch da sein um mit ihm was zu machen. Und das ganz halt in einer .exe, keine anderen Dateien.

Also ist das überhaupt möglich?

Ungewöhnliche Frage, aber ich sehs ehrlich gesagt nicht ein, warum kleine Programme mehrer Dateien haben sollten. Manche Sachen müssen einfach minimalistisch sein.

Geschrieben

Hi,

ich kenne keine möglichkeit etwas in eine exe zu schreiben... Man bedenke das es sich um Compilierten Quellcode handelt...

Das einzige was an Daten in einer exe sind, sind Ressourcen und Konstanten welche vom Quellcode verwendet werden.

Du kannst dir ja mal ne Konstante anlegen und versuchen diese in der Exe wieder zufinden. Zeichenketten lassen sich wieder finden und auch nachträglich bearbeiten... aber vorsicht das geht 1. nicht immer und 2. wenn nur 1 zeichen mehr oder weniger rein geschrieben wird dann ist kaputt :)

Ich würde dir raten diese Werte lieber in eine Datei oder in die Windows Registry zu schreiben... In die Exe ist ein großes risiko.. ausserdem könnte sich ein Virenscanner melden wenn du das tust

mfg Heavywolf

Geschrieben

Hallo,

das geht schon, setzt allerdings tiefere Kenntnisse der Software/Compiler voraus und ist - bei falscher Verwendung - ausgesprochen fehlerbehaftet. Ein recht verbreiteter Einsatzzweck - allerdings im Unix-Umfeld - ist das modifizieren ("patchen") von Kernelvariablen.

Dazu muss man nur das Symbol kennen über welches die Variable zu erreichen ist, im Anschluss wird mit einem Debugger (beispielsweise kadb oder gdb), die Variable entsprechend modifiziert. Das sollte auch unter Windows funktionieren, allerdings kommt hier erschwerend hinzu, dass sich laufende Binaries unter Windows nur schwer modifizieren lassen.

Nic

PS:

Mit einem Unix-Quellcode für sowas könnte ich Dir aushelfen (müsste allerdings ein bisschen suchen). Das gäbe zumindest schon einen Anhaltspunkt, wie Du eine entsprechende Funktuion realisieren kannst.

Geschrieben

Du solltest eine Konfigurationsdatei oder die Registry verwenden. Achte bei letzterem darauf, dass eine Deinstallation vollständig erfolgen kann, also auch auf Wunsch Registry-Einträge wieder entfernt werden.

Eine EXE-Datei zu verändern ist möglich, sofern sie nicht grade in Verwendung ist. Für das Speichern von Konfigurationsdaten ist dieser Weg jedoch nicht empfehlenswert.

Geschrieben

Naja also wies ausschaut, sollte ich lieber die Finger davon lassen. Okay, naja hamma wieda was g'lernt.

PS:

Mit einem Unix-Quellcode für sowas könnte ich Dir aushelfen (müsste allerdings ein bisschen suchen). Das gäbe zumindest schon einen Anhaltspunkt, wie Du eine entsprechende Funktuion realisieren kannst.

Ja, also wenn Du dir die Mühe machen würdest, ich würd mich auf jedenfall freuen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...