Dateien IN der .exe öffnen



  • was du vorhast ist unnötig kompliziert.
    du musst den offset kennen, wo sich der anfang deiner daten in der exe befindet. du kannst dort aber nicht einfach irgendwelche textdateien reinschieben, sondern du müsstest die größe der exe selbst kontrollieren und anpassen.
    allerdings düfte das betriebssystem streiken(schätze ich mal, habs noch nicht probiert) wenn du ein programm verändern willst, das gerade ausgeführt wird.
    daher müsstest du wohl irgendwie einen separaten prozess starten mit den erforderlichen rechten, der deine exe öffnet und bearbeitet. alles in allem viel zu umständlich.
    was spricht gegen eine separate datei für die daten? 😕



  • Guck mal unter FindResource / LoadResource / LockResource / UpdateResource etc. im MSDN nach.

    Kurzes Beispiel hier.



  • dassja geil!
    wieda was gelernert!
    🙂



  • Eigentlich möchte ich garnicht die .exe während dem Ausführen verändern, sondern nur Lesen. Das Verändern würde ich so oder so machen wenn die .exe nicht ausgeführt wird.

    Danke für den MSDN-Link, werde mal schauen ob dort die Lösung für mein Problem verborgen liegt.

    (Habe vorher noch nie von Handles etc. gehört, also erstmal informieren gehen)

    Falls du noch nen Shortcut für mich hast, damit ich das ganze schneller hinbekomme währe das auch sehr hilfreich.



  • die exe lesen ist nicht sooo das problem, man muss nur beachten dass auch nullbytes enthalten sein können und es daher probleme mit gängigen stringfunktionen geben kann.



  • okay schrieb:

    die exe lesen ist nicht sooo das problem, man muss nur beachten dass auch nullbytes enthalten sein können und es daher probleme mit gängigen stringfunktionen geben kann.

    Okay, das ist super, aber meine Frage ist ja: Wie genau mache ich das? Einfach einen ifstream zu erstellen für die .exe funktioniert ja wohl kaum.



  • ifstream, keine ahnung , ich mache sowas lieber mit c.



  • okay schrieb:

    die exe lesen ist nicht sooo das problem, man muss nur beachten dass auch nullbytes enthalten sein können und es daher probleme mit gängigen stringfunktionen geben kann.

    std::string hat keine Probleme mit '\0'.

    P.S. Der Thread ist sehr suspekt.



  • out schrieb:

    okay schrieb:

    die exe lesen ist nicht sooo das problem, man muss nur beachten dass auch nullbytes enthalten sein können und es daher probleme mit gängigen stringfunktionen geben kann.

    std::string hat keine Probleme mit '\0'.

    dann findet es auch text zwischen nullbytes, dann ja alles in butter ist.

    out schrieb:

    P.S. Der Thread ist sehr suspekt.

    lol
    😃



  • Vor allem ist dieser Thread im falschen Forum. Das gehört ziemlich eindeutig ins WinAPI Forum.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • [quote="holzlag0r"]

    okay schrieb:

    Danke für deine Antwort, aber mein Ziel ist es dass man den Ablauf / die Daten des Programmes verändern kann, ohne es neu zu kompilieren!

    Das verstehe ich nicht ganz: Solange die exe-Datei unverändert bleibt, wird sie doch auch immer dasselbe tun?!



  • das ist alles irgendwie sehr schwammig. was möchtest du denn überhaupt erreichen?


Anmelden zum Antworten