Es ist mir nur gelungen, einen Abschnitt und einen Code zu einer PE-Datei (in diesem Fall meine proxy.exe) in Windows 10 hinzuzufügen. Ich habe auch den Eingangspunkt an den Anfang meines neuen Abschnitts geändert. Wenn ich die gepatchte .exe ausführe, wird mein Stub aufgerufen und ich höre einen hochfrequenten Signalton (ich habe zuerst mit einem Signalton getestet), so weit, so gut.PE-Header - Neuer Abschnitt - Wie OEP-Adresse im Speicher zu berechnen?
Aber jetzt möchte ich zum OEP zurückkehren. Aber wie kann ich die adresse meines oep in speicher berechnen? Ich dachte über dieses Problem nach und ich kam mit einer? Lösung ?:
Zählen Sie die Rsize aller Abschnitte mit Ausnahme der einen ich frisch hinzugefügt, dann bekomme ich die Adresse meiner Stub im Speicher (Delta Offset) und subtrahieren die Gesamtgröße davon. Jetzt sollte ich am Anfang des .text-Abschnitts im Speicher stehen. Danach füge ich den Offset für den oep hinzu und das ist es.
Funktioniert das oder habe ich einen Fehler gemacht Gibt es einen anderen, wahrscheinlich einfacheren Weg? Und was ist mit Dlls, gibt es einen Unterschied für die gesamte Prozedur?
http://i.imgur.com/tpUH8x4.png < - Bild von Stub
Vielen Dank im Voraus! ;)
Welches Betriebssystem? Mein Verständnis ist, dass die Platzierung einer ausführbaren Datei von der O.S abhängig ist (falls es eine gibt). –
Oh, ich habe vergessen, sorry - Windows 10. * Post bearbeitet –