程序如何创建虚拟硬件?

时间:2012-09-04 16:56:13

标签: hardware virtual driver

我见过像magicdisc这样的程序会创建虚拟光盘驱动器并将它们安装在机器上。这些程序如何欺骗操作系统认为附加了新的硬件设备?

我想我必须为虚拟硬件编写一个驱动程序,而且我对C感觉很舒服,这听起来并不可怕,但是如何让操作系统认为它附带了一块硬件呢? “T?

谢谢!

2 个答案:

答案 0 :(得分:3)

通常操作系统有不同的层和库,在某些时候有一个库位于它上面的东西和实际的硬件之间,你在那里伪造它,如果有某种读取扇区调用,你假装读取使用该扇区地址的扇区,从文件读取它,无论如何。每个操作系统(windows,linux等)可能以不同的方式做事。

答案 1 :(得分:0)

可能你熟悉C作为应用程序级别,它高于OS。 虚拟驱动程序是一个软件,但需要在适当的位置写入设置:Windows上的注册表,某些Linux上的某些配置文件。您需要在内核级别处理操作系统级别的调用和回调。您可能希望软件与您的设备进行通信,可能已集成到OS Shell中。如果不是3个或更多,至少有2个印花。

对于例如windows xp,你可以制作一个虚拟图形卡(并截取各种各样的东西),对于Vista而言,只需要一个技巧:)

非常非常特定于操作系统。