Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi asm code aus anderen prozessen lesen (https://www.delphipraxis.net/118519-asm-code-aus-anderen-prozessen-lesen.html)

Medium 10. Aug 2008 01:10

Re: asm code aus anderen prozessen lesen
 
Zitat:

Zitat von p80286
Aber was ist wenn 90 kein OpCode sodern Daten ist?

Du musst natürlich schon sicher stellen, dass du den Speicher ab einer Stelle bekommst, wo du genau weisst dass als nächstes ein Opcode folgen muss, z.B. einen Prozedureinsprung. Wenn man einfach so mal mitten hinein grabscht kann auch ein Disassembler nicht viel damit anfangen, da man ja z.B. auch mitten in ein als "db" hinterlegtes Stringliteral fummeln könnte, wo alles mögliche drin sein kann.
Ansonsten könnte man eventuell noch versuchen das was man hat semantisch zu analysieren, und schauen ob zum Beispiel ein vermeindlicher Jump zu einer gültigen Adresse führen würde, und ob andere Interpretationen in dem Block sinnvoll erscheinen, so dass man eine Vermutung anstellen kann, wo ein Befehl stehen könnte ab dem man dann interpretieren kann. Das ist aber schon reichlich knifflig möchte ich vermuten.

Cyf 10. Aug 2008 09:08

Re: asm code aus anderen prozessen lesen
 
Natürlich muss sichergestellt sein, dass man sich auch in gültigen Code befindet, aber das war ja nicht die Frage. :wink:
Zudem befinden sich Konstanten (wie z.B. die genannten Strings) in der Regel am selben Platz (gemeint ist Anfang, Ende usw., natürlich nicht Adresse) in der .exe und so auch im RAM.

Zitat:

Zitat von p80286
Zu DOS-Zeiten konnte DEBUG auch direkt auf den Hauptspeicher zugreifen, wenn der's heute noch kann, warum in Delphi nochmal neu schreiben?

Dann könnte man auch einfach einen vernünftigen Debuger benutzen, nahezu jeder gute sollte das können. Aber es geht ja um die Umsetzung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz