寒江独钓——win内核编程读书笔记-1
从学长那里知道这本书,是系列的第二本,更具体的介绍了实时扫描的防毒软件、虚拟磁盘、硬盘加密等软件的内核模块实现的编程教程。
由于是资深技术编写,就少了学院气息,从应用的角度介绍问题,就比较亲切。
从x86到x64,所有的指针从4个字节变成了8个字节。
当某个函数返回了奇特的ntstatus值,去wdk头文件找答案。
在内核中,大部分的“消息”通过请求(IRP)方式传递。IRP也是一个内核数据结构,它非常复杂,因为要表示无数的实际请求。请求可以通过IRP的主功能号区分。
从KDM到WDM到WDF一脉相传,KDM——win NT上的驱动程序,win98-2000出现的新模式WDM,WDF在已有的内核API和数据结构基础上,封装一套更简单、更实用的一wdf开头的一组API。
在用户状态下,没有中断级的概念,他们都在同一中断级。
win代码都在规范的中断级,任意的中断级都会导致系统不可预见的后果。
串口在win中最简单的设备。
应用程序是不能直接根据设备名字打开设备的,一般都通过符号连接名打开。一个按键需要两个扫描吗,一个表示按下,一个弹起。无论如何按键(所谓同时按下),信息的传递都是一次一个字节发生的。键盘的中断号是0x93,端口为0x60。
使用未公开的数据结构和技术是病毒、木马常见的行为。
真正的硬件中断一般称为IRQ,每一个中断号都在IDT(中断描述符表)中有个记录。
IOAPIC重定位中断处理函数(具体见《82093AA I/O Advanced Programmable Interrupt Controller》)可以用于多个核心CPU的新型中断控制器,也可以认为是新的可编程硬件。目前的CPU都有该机制。IOAPIC标示了每个IRQ被重定位到哪个中断处理函数,该表一共有24项。
(前4章的浏览笔记)
posted on 2011-10-23 12:43 dragon@bupt 阅读(346) 评论(0) 收藏 举报
浙公网安备 33010602011771号