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

标签 debugging virtualization reverse-engineering virtual-machine

是否有从虚拟机的 工作的调试器主持人 ?

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

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

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

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

最佳答案

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

关于使用主机在虚拟机中运行的调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128121/

相关文章:

debugging - GDB 中的键映射

PHP - 调试要求

virtualization - KVM 可以在 GCE 实例中使用吗?

virtualization - 在虚拟机、VMWare 或 Parallels 上使用 CPU 的 guest 系统中使用 OpenCL?

javascript - 选择Pinterest上的所有图像以移至另一 block 板

gdb - 如何对程序进行双向或反向调试?

c++ - 调试嵌入式 Lua

linux - 需要对 Qemu 源代码行进行注释

memory - 低级编程: How to find data in a memory of another running process?

c++ - 更改表条目没有重定向功能?