The Art Of Unix Programming
The Art Of Unix Programming
Windows Driver Model(WDM)的根源可追溯到几年前一种叫做Windows for Workgroups 3.10的操作系统。那时候我们努力地支持无数不同的SCSI控制器,我长期地注意WindowsNT开发组创建的小端口驱动程序类型。不久就认识到重新构造必要的映象加载器(image loader)和小端口驱动程序需要的执行环境比把这些小端口驱动程序重写成某些VXD形式的驱动程序并调试完毕所花费的努力要少得多。<br><br>不幸的是,Windows from Workgroups 3.10已经停止发行带有SCSI小端口支持的版本,主要是由于象ASPI(高级SCSI编程接口)这样的外围问题。然而,跨Windows和windows NT操作系统共享同样的驱动程序执行映象的基础是适当的并且可以在win95中见到,它(win95)可以与NT共享SCSI和NDIS小端口驱动程序二进制代码。<br><br>共享驱动程序模式的潜在意义是重大的。驱动程序开发人员感兴趣的是支持双平台,共享驱动模式能降低开发和调试的一半开消。对微软来说,共享模式意味着更容易地从win9x迁移到Windows2000或这个平台的未来版本。对最终用户来说,大量不同种类的稳定驱动程序可以在这个家族中的所有成员之间通用<br>
获悉微软企图阻止你呼叫的各种 KERNEL32 未公开函数。<br>打开 Windows 95 用以通往 VxDs 的秘密后门。<br>探索 32 位行程所具备的 16 位 KRNL386<br>数据结构。<br>不经由 thunks 呼叫 16 位码。<br>揭发Windows 95 自由系统资源(FSR)的谎言。<br>把行程和执行绪的ID 转换为指向系统数据结构<br>的指标。<br>拦截其它程序所呼叫的API 函数。<br>完整列出被KERNEL32 呼叫的KRNL386 函数。<br>了解行程如何产生共享内存。
书中涉及处皆是系统核心奥妙之所在,常人皆对此望而却步。内存操作、各类钩挂、系统服务、软件中断等等系统黑客必掌握之绝技,此书皆有论述,且其内容之深入、之实际以往经典中也难得一见。然内容虽深数却不难懂,作者论述深入浅出,稍有难点便细致讲解,更有数处令吾甚感罗嗦,其讲解之到位,可见一斑。更可贵之处在于,此书不仅受人以鱼,更受人以渔。特辟一章专讲反向工程之技巧,其意在鼓励人从此可自立门户,自行探索系统之奥秘。师父领进门,修行在个人,此言不差。有宝典在手,日日勤读善思,不愁大功不成。
Windows Driver Model(WDM)的根源可追溯到几年前一种叫做Windows for Workgroups 3.10的操作系统。那时候我们努力地支持无数不同的SCSI控制器,我长期地注意WindowsNT开发组创建的小端口驱动程序类型。不久就认识到重新构造必要的映象加载器(image loader)和小端口驱动程序需要的执行环境比把这些小端口驱动程序重写成某些VXD形式的驱动程序并调试完毕所花费的努力要少得多。<br><br>不幸的是,Windows from Workgroups 3.10已经停止发行带有SCSI小端口支持的版本,主要是由于象ASPI(高级SCSI编程接口)这样的外围问题。然而,跨Windows和windows NT操作系统共享同样的驱动程序执行映象的基础是适当的并且可以在win95中见到,它(win95)可以与NT共享SCSI和NDIS小端口驱动程序二进制代码。<br><br>共享驱动程序模式的潜在意义是重大的。驱动程序开发人员感兴趣的是支持双平台,共享驱动模式能降低开发和调试的一半开消。对微软来说,共享模式意味着更容易地从win9x迁移到Windows2000或这个平台的未来版本。对最终用户来说,大量不同种类的稳定驱动程序可以在这个家族中的所有成员之间通用。<br><br>