CreateProcess(): Speicheradressen des erzeugten Prozesses enthalten keine Werte, manuell gestartet schon



  • Hey!

    Wenn ich ein Programm normal manuell starte, habe ich an Speicheradresse X (statisch) einen bestimmten Wert.

    Starte ich das Programm mit CreateProcess() (während das Starterprogramm aktiv bleibt), steht an derselben Speicheradresse X kein Wert mehr (in meinem Fall).

    Was ist da los? Der gestartete Prozess sollte doch trotzdem seinen eigenen Adressraum haben?

    Wie kann ich das Problem lösen?

    P.S.: Ich nutze DetourCreateProcessWithDll() (Diese Funktion ruft letztendlich CreateProcess() auf).

    Danke!
    MfG



  • Achso, mit DetourCreateProcessWithDll() wird ja eine zusätzliche .dll mitgeladen. Dadurch ändern sich dann die offsets...

    Aber von was hängt dieser offset ab?

    Habe außerdem versucht, die "Image mapped size" der zusätzlichen .dll zu der Speicheradresse hinzuzuaddieren, aber das ergab immer noch nicht den richtigen Wert.

    Hmm...


Anmelden zum Antworten