AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi asm code aus anderen prozessen lesen
Thema durchsuchen
Ansicht
Themen-Optionen

asm code aus anderen prozessen lesen

Ein Thema von wadimwadim · begonnen am 9. Aug 2008 · letzter Beitrag vom 10. Aug 2008
Antwort Antwort
Seite 2 von 2     12   
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: asm code aus anderen prozessen lesen

  Alt 10. Aug 2008, 02:10
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.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#12

Re: asm code aus anderen prozessen lesen

  Alt 10. Aug 2008, 10:08
Natürlich muss sichergestellt sein, dass man sich auch in gültigen Code befindet, aber das war ja nicht die Frage.
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 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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 Uhr.
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