Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
FreePascal / Lazarus
|
Re: Speicher überschreiben mit Inline ASM
8. Feb 2009, 04:10
Mit Inline-Assembler hat das nicht direkt was zu tun, denn die Befehle sollen ja nicht in deinem Programm, sonderm im Zielprogramm ausgeführt werden. Daher musst du sie irgendwie als Datenstrom speichern, z.B. in einem Byte-Array, als Ressource, oder als Datei, die du zur Laufzeit lädst. Was das Überschreiben des Speichers anbelangt, kann ich dir nicht helfen. Eigentlich sollte das nach meinem Verständnis heutzutage auch gar nicht mehr möglich sein, da unter NT jeder Prozess seinen eigenen virtuellen Adressraum hat. Was wohl geht, ist Speicher in einem anderen Prozess zu alloziieren - aber überschreiben? Nicht, dass ich wüsste. Ich bin aber auch kein Experte - Was mir noch einfallen würde, wäre, sich irgendwie als Debugger einzuklinken, denn beim Debugger von Delphi ist es ja auch möglich, Werte im laufenden Programm abzuändern.
Es gibt sicher andere im Forum, die sich da besser auskennen. Allerdings ist die Frage, ob sie dich bei deinen eher zweifelhaften Absichten unterstützen wollen.
|