Changjiang的专栏

孤帆远影碧空尽,唯见长江天际流。

赵世平ID:Changjiang
[修改头像]
17668次访问,排名5663(1)好友0人,关注者0
Changjiang的文章
原创 8 篇
翻译 2 篇
转载 0 篇
评论 6 篇
最近评论
wangqinghua1:很有收获,文风简洁
fantasyzzz:老师好,我是今天和您联系请教学习汇编方法的您的学生,我以前一直学习的是8086的汇编语言,不过也可以理解您上面的Win32ASM程序示例的大意,我已经对8086的汇编程序编写有一定的掌握,熟悉汇编的编写方法了,而且我现在还在看8086的教材巩固,我想问的是这个过程是否可以跳过,放下8086的学习,直接学习Win32的汇编。不知道这里请教合适么?谢谢老师。。
royelee:当年也是玩crack的啊?
还是原来用trw2k的时代爽啊。
Changjiang:呵呵,这个BLOG是去年开的,一直没有用,这几天正好有空,放上了一点文章。最近还好么,支持你。
flier:正是应了微软 3.0 那个说法,CLI 一直出到第三版,才算是基本上完成了预先的设想,把从一开始就规划进去的那些坑都填上,也腾出了精力去折腾相对来说更实际一些的 WinFX。等 Enterprise Library 那套东东再成熟一点,针对 Java 阵营的进攻号角才算真正吹向。
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
收藏
    相册
    好友的BLOG
    孟岩的BLOG
    自己的其他BLOG
    Changjiang的另一个BLOG:TBsoft工作室的BLOG
    存档

    原创 生日感言:作为设备驱动程序开发者的这些年头

    新一篇: C++/CLI中类的本质分析

    今天是笔者的生日,已虚度28个春秋。

    笔者早年研究病毒、破解和系统底层开发,当年因研究CIH病毒初涉Windows 95虚拟设备驱动程序(VxD)的开发,当时只是将设备驱动程序作为Ring 0最高特权级应用程序开发。那个VxD的时代,开发设备驱动程序都需要自己访问硬件I/O端口、物理内存、中断和DMA,要开发设备驱动程序,必须对保护模式和Windows 95内核有深入了解,还要使用汇编语言,但是一切硬件和操作系统底层对于开发者是透明的,如同DOS时代的透明。

    随着Windows 98/2000的推出,分层结构,支持即插即用的WDM驱动程序取代了VxD,WDM驱动程序仍然运行在Ring 0上,但是一层HAL层,和复杂的支持即插即用的层次结构使得开发者无需直接访问硬件,只需要使用C语言按照WDM驱动程序编程体系结构,调用内核调用就能开发设备驱动程序。虽然WDM驱动程序仍然是最高特权级应用程序,但是其作用显然强化了驱动程序开发,淡化了作为Ring 0最高特权级应用程序的意义,硬件和操作系统底层蒙上了一层薄薄的面纱,很少有程序员开发WDM驱动程序直接访问硬件和控制操作系统底层了,除了Hacker、Cracker等有特殊要求的系统底层程序员。

    DriverWorks——“DDK类库”的广泛使用,就如同使用MFC简化了Win32 SDK应用程序开发一样,大大简化了WDM驱动程序的开发,DriverStudio和DriverWorks可以使设备驱动程序程序员使用向导直接生成特定要求的设备驱动程序框架程序,程序员只需要编写很少量的程序就完成一个功能完整的设备驱动程序,不需要了解或者只需要很少了解保护模式和操作系统内核,功能强大,但是我们离硬件和操作系统底层更远了。

    笔者现在部分转向了硬件和嵌入式系统开发,有时候要开发USB设备驱动程序,使用DriverStudio和DriverWorks中的向导,一次就生成了完整的USB设备驱动程序框架源程序,编译链接后,直接就可以驱动USB设备,基本无需编程,回忆当年,现在开发的只是用于驱动硬件的设备驱动程序,Ring 0最高特权级应用程序的意义,已经很淡了。

    随着Windows Vista的推出,全新的WDF(Windows驱动程序基础)驱动程序开发模型将取代WDM,尽管WDF中的KMDF(核心模式驱动程序框架)仍然基于WDM,但蒙在硬件和操作系统底层上的面纱,显然更厚了。
     
    时代总是在进步的,“沉舟侧畔千帆过,病树前头万木春”,盲目的怀旧是没有意义的,但是如果有一天还要直接访问硬件和控制操作系统内核,不要忘记了设备驱动程序的本质意义。君不见Rootkits基于设备驱动程序实现?3721、“冰刃”和各种反病毒软件的背后,都有设备驱动程序的身影?

    发表于 @ 2006年11月11日 11:03:00|评论(loading...)|编辑

    旧一篇: WDM驱动程序示例

    评论

    #flier 发表于2006-11-15 23:16:00  IP: 221.226.232.*
    hehe, 怎么跑这儿开了个blog,支持一下!
    #Changjiang 发表于2006-11-16 00:26:00  IP: 58.49.235.*
    呵呵,这个BLOG是去年开的,一直没有用,这几天正好有空,放上了一点文章。最近还好么,支持你。
    #royelee 发表于2007-02-15 16:56:18  IP:
    当年也是玩crack的啊?
    还是原来用trw2k的时代爽啊。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © Changjiang