调试代码使用主机在虚拟机中运行

时间:2009-07-14 21:20:57

标签: debugging virtualization reverse-engineering virtual-machine

是否有可以在虚拟机的主机中运行的调试器?

也就是说,我希望这个调试器能够识别虚拟机的OS例程,内存位置等,并识别操作系统何时启动certian EXE,而不是在机器内部使用中断。然后我希望能够通过主机为每个进程设置硬件类断点。我会澄清一下。虚拟化的计算机和操作系统永远不会知道断点已设置或发生。所有调试处理都将由模拟虚拟计算机的主机完成。

这将启用更强大的断点机制,例如“从CDROM驱动器读取某些数据时中断”,或“当磁盘上的某个文件包含以下字节序列时断开”。

例如,这种方法还将消除anti-debugger技术,这些技术在调试器下运行时会改变可执行文件的行为。 (OTOH开辟了一个新的反虚拟化技术领域,它依赖于模拟计算机和真实硬件之间的细微差别)。

有这样的产品吗?它看起来像个好主意吗?

2 个答案:

答案 0 :(得分:3)

VMware已经为Visual Studio和Eclipse提供了VM调试插件一段时间了。甚至可以记录VM运行(记录所有设备的输入,允许像记录时一样精确地重放VM的执行),然后step through the recording with a debugger

答案 1 :(得分:1)

IDA Pro的最新版本包括debugger interface,其中包括其他设置,可以检查BOCHS虚拟机。