VXD技术漫谈(1)

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 silver 的 blog

vxd技术漫谈(1)

 

       说起vxd技术,很多接触电脑的人都会感到陌生,不过提起cih病毒,我相信您一定不再摇头。

  有过一定windows编程经验的人可能听说过vxd这个词。80386的保护模式给了我们非常多的“保护”,对于一个不懈地追求自由的人来说,“镀金的笼子也是笼子”,翻遍windows编程的书籍,也许最终只找到这样一扇通向自由的门:试一试vxd。

  vxd是什么?为什么cih会如此猖獗?

  cih运行在ring 0,挂接ifs(installable file system)服务,截获file opening操作,然后把自己“传染”到别的pe格式的文件中,如果到了该发作的时间,它就攻击主板的flash memory。

  cih之所以能破坏硬件资源(通过攻击主板的flash memory,达到破坏硬件的目的),正是因为它利用了vxd技术。对于一般的运行于ring 3的windows应用程序来说,想破坏主板的flash memory是不可能的,因为这是80386保护模式对于代码权限的盘查所不允许的,其结果顶多是引起操作系统异常,也就是在windows中经常出现的、令用户心跳加速的、蓝底白

  vxd = virtual “something" device,这里的x代表something。比如说vkd代表virtual keyboard device(键盘驱动),vpicd 代表 virtual programmable interrupt device(可编程中断控制器驱动)。vxd是windows 3.1、windows 95的驱动程序模型(windows 98也支持vxd)。

  在很多人的印象中,vxd是与硬件设备打交道的,对于软件来说没有太大的作用,其理由之一是:用来开发vxd的ddk一般来说都分发给硬件开发商,对于搞软件开发的人来说,sdk才是看家本领,而sdk中对于vxd却是言及甚少。这种想法可是大错而特错了。

  由于vxd运行在系统的ring 0级,拥有与操作系统同等的级别,所以,vxd可以最大程度地帮助我们走出80386保护模式强加给我们的“镀金的笼子”。我们就拿最近轰动一时的cih病毒来说一说vxd这柄利剑的强大。字的“general protection fault”,在这里,我们该感谢那个“镀金的笼子”,至少它使我们免受邻居家那个只学过turbo c编程的小孩的搔扰。
了搞破坏,vxd还可以用来做些什么呢?

  在这里我简单谈一下vxd的应用。

  由于vxd可以虚拟根本不存在的硬件,因此,可以利用vxd虚拟硬件狗来破解一些有版权的软件的保护(怎么又是干坏事?我只是想告诉硬件狗的制造者:有些吝啬鬼想通过这种手段来省银子,早作提防啊!)。

  由于vxd工作在操作系统的最底层,所以,掌握它 能使你具备扩展操作系统的能力。有没有想过在windows 95里按下ctrl+alt+delete键,而后弹出的是你自己设计的对话框(聪明的你一定可以发挥你天才的想像力,比如说显示一张你女朋友的照片,以提醒自己关了电脑之后别忘了去赴约会),vxd可以帮助你跟windows 95开开玩笑。

  好吧,说点正经的应用。想不想利用vxd来作些“实时”控制之类的东西?当然,作实时工控,首选的操作系统还是dos,但是如果你经不住windows那张漂亮面孔的诱惑,也可以在windows下作“准实时”控制应用。一般来说,通过vxd的协助,在很多情况下,我们还是可以获得比较满意的实时效果的。据测试,486/66的pc机上运行windows 95,在没有别的应用程序干扰的情况下,vxd可以处理10khz的硬件中断,不会漏掉一个中断!精心设计你的应用程序和vxd(最好再买台好点的电脑),相信你可以获得满意的“实时”效果。

  再讲一个有趣的应用吧(今天有点发晕了,平时我可不大爱吹牛的)。如果你有一堆16位的dll,(假设你曾在windows 31下作过应用程序开发,并曾为讨老板的欢心而奋力地写过许多功能不错的dll),而你又懒得通过重写代码或者利用烦琐的thunk移值到windows 95下,那么,试一试vxd,可能会给你“它山之石可攻玉”的经历。当然,我的前提是你对于vxd已经有了比较多的认识并有一些实战经验,否则你大概会因此导致神经衰弱的。

  再说一个比较有趣的应用。想不想使dos tsr、win16应用程序、win32应用程序之间产生一些协作?想不想打破win32应用程序4gb独立线性地址空间带来的限制?通过vxd作中介,你会发现原来“万物通于一理”。别相信坐在你对面的那个权威的“no”,相信你自己。

  对于vxd,我们已经说得够多了,也许你已经兴奋得想立刻去书摊上找本《21天轻轻松松掌握vxd技术》来一读为快了。先安静会儿,现在开始泼冷水

本文关键:VXD技术漫谈(1)
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top