4

Gibt es einen Debugger, der von einer virtuellen Maschine Host funktioniert?Debugging-Code in einer virtuellen Maschine mit dem Host ausgeführt

Das heißt, anstelle von Interrupts innerhalb der Maschine erwarte ich, dass dieser Debugger die OS-Routinen, Speicherorte usw. der virtuellen Maschine erkennt und erkennt, wenn das Betriebssystem eine EXE-Datei von certian startet. Dann möchte ich Hardware-wie Breakpoints pro Prozess über den Host-Computer setzen können. Ich werde klären. Der virtualisierte Computer und das virtualisierte Betriebssystem würden niemals wissen, dass der Haltepunkt gesetzt oder aufgetreten ist. Die gesamte Debug-Behandlung würde vom Host-Computer durchgeführt, der einen virtuellen Computer emuliert.

Dies würde viel stärkeren Breakpoint-Mechanismus ermöglichen, zum Beispiel "brechen, wenn bestimmte Daten vom CD-ROM-Laufwerk gelesen werden" oder "brechen, wenn eine bestimmte Datei auf der Festplatte die folgende Bytefolge enthält".

Dieser Ansatz wird zum Beispiel auch anti-debugger Techniken beseitigen, die das Verhalten der ausführbaren Datei ändern sollen, wenn sie unter einem Debugger laufen. (OTOH eröffnet einen neuen Bereich von Anti-Virtualisierungstechniken, der auf kleinen Unterschieden zwischen emuliertem Computer und realer Hardware beruht).

Gibt es ein solches Produkt? Sieht es nach einer guten Idee aus?

Antwort

1

Neuere Versionen von IDA Pro enthalten eine debugger interface, die unter anderem eine virtuelle BOCHS-Maschine untersuchen kann.

3

VMware bietet seit einiger Zeit VM-Debugging-Plugins für Visual Studio und Eclipse an. Es ist sogar möglich, einen VM-Lauf aufzuzeichnen (der die Eingaben von allen Geräten protokolliert, so dass die Ausführung der VM genau wie bei der Aufzeichnung wiedergegeben werden kann) und dann step through the recording with a debugger.

+0

Ich wünschte, ich könnte zwei Antworten akzeptieren. Danke trotzdem. –