我正在寻找从 Windows XP 上的虚拟机截取 Windows 7 上主机屏幕截图的任何想法,有什么想法或概念证明可以做到这一点吗?
也许来自集成驱动程序或者别的什么?
我不需要任何代码片段,只需要POC 无法做到这一点。
编辑:可以是流程集成的想法吗?(从虚拟化中转储主机上的任何进程内存)
答案1
我对您的英语有些困惑,但我想您问的是,在“客户机”操作系统(在虚拟机管理程序中运行的操作系统)中运行的应用程序是否可以截取“主机”操作系统(托管虚拟机管理程序的操作系统)的屏幕截图。
假设您没有在虚拟机管理程序中启用任何功能来允许客户机访问主机的内存(对于“功能”来说,这听起来像是一个非常糟糕的想法),客户机访问主机的任何方法,除了使用网络协议(如 Chopper3 所建议的)之外,都是虚拟机管理程序中的一个错误。
虚拟机管理程序应向客户机呈现一个虚拟机,该虚拟机将客户机与主机完全隔离。从客户机访问主机操作系统的任何方法最终都应与客户机是与主机分开的物理机器相同。
当然,有些人会有兴趣了解如何“突破”虚拟机管理程序并访问主机。我确信目前发布的虚拟机管理程序或硬件中存在错误,可以实现这样的事情,因为没有一个非平凡的计算机程序可以真正没有错误。如果你找到了一种“突破”任何主流虚拟机管理程序的方法,“制造商”就会当然想知道你是如何做到的。据我所知,没有这样的错误是常见的“公共知识”。(这样的错误将代表一个重大的安全漏洞......)
答案2
哇,我思考无论如何,我知道您想问什么 - 您的意思是“我可以让虚拟机截取其主机操作系统的屏幕吗?”?
如果您的意思是这样,那么首先您没有提到您感兴趣的特定虚拟机管理程序,请告诉我们是哪一个,但答案几乎肯定是否定的。这种功能根本不存在,这样做很奇怪。话虽如此,您可能能够从虚拟机内部编写脚本以通过 RDP 连接到主机并从那里截取屏幕截图,但这与实际的虚拟化无关。
答案3
如果这是 Windows 环境,则可能能够使用 WMI 调用主机系统上的脚本将 prtscrn 键发送到控制台。然后您必须将其粘贴到 paint 中(再次通过脚本)。我还没有尝试过,但对我来说这听起来很合理,而且我确实通过 sendkeys 自动化了应用程序。