首页 / 软件开发 / C++ / Win98内核分析(Kernel32)
Win98内核分析(Kernel32)2008-01-05IBMBIO各模块的介绍。一、环境管理块emb要读入EMB,可使用INT 21 的52H号功能。调用该中断后,EMB的地址会放在ES:BX中。具体用法如下:C:>debug-a0F6C:0100 mov ah,520F6C:0102 int 210F6C:0104 int 30F6C:0105-g=0100 0104 //运行100至104的命令AX=5200 BX=0026 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=0F6C ES=00C9 SS=0F6C CS=0F6C IP=0104 NV UP EI PL NZ NA PO NC0F6C:0104 CC INT 3-d00c9:0024 //显示EMB的内容00C9:0020 11 02 46 13-C9 00 CC 00 C9 00 4C 00 ..F.......L.00C9:0030 70 00 16 00 70 00 00 02-6D 00 C9 00 00 00 97 D5 p...p...m.第一个MCB地址 0211:0000FILES运行环境链链头地址 00C9:00CC当前标准输入设备标题首址 0070:0016BUFFERS运行环境链链头地址 00C9:006DFCBS运行环境链头地址 D2E7:0000逻辑驱动器号 05设备驱动程序链头地址 D181:0000DPT链头地址 00C9:1346当前时钟设备标题首址 0070:004C每个缓冲区字节数 0200磁盘路径表(DPAT)首址 D597:0000DOS不能自动关闭的FCB数目 0000最末驱动器号 1A......00C9:0040 00 00 E7 D2 00 00 05 1A-00 00 81 D1 04 80 CD 0D ................(从0024读起是为了读入MCB的地址)二、磁盘参数表DPT和磁盘路径表DPAT1.磁盘参数表DPT由EMB的表格知道DPT链头地址为00C9:1346,根据该地址可读出DPT的内容如下代码:// 0 1 2 3 4 5 6 7 8 9 A B C D E F