日期:2014-05-17  浏览次数:21062 次

windows 7 的 MBR 分析

windows 7 的 MBR 分析
2010年10月04日
  000001C0  21           /* 起始 sector 号 */
  000001C1  00           /* 起始 cylinder 号 */
  000001C2  07           /* 系统属性 ID 标记 
  00h:未知操作系统 
  01h:DOS FAT12(16位扇区数) 
  02h:XENIX 
  04h:DOS FAT16(16位扇区数) 
  05h:DOS 扩展分区(DOS 3.3+) 
  06h:DOS 4.0 (Compaq 3.31), 32位扇区数 
  07h:HPFS/NTFS
  0ah:OS/2
  0bh:win95 fat32
  0ch:win95 fat32 (LBA)
  ... ...
  */
  000001C3  DF           /* 结束 header 号 */
  000001C4  13           /* 结束 sector 号 */
  000001C5  0C           /* 结束 cylinder 号 */
  000001C6  00080000      /* 此分区前的扇区总数 */  
  000001CA  00200300     /* 此分区的扇区总数 */
  /************** DPT2 分区表2:从 0x1CE 到 0x1DD *******************/
  000001CE  00              
  000001CF  DF  /* 起始 header */
  000001D0  14            /* sector */  
  000001D1  0C            /* cylinder */
  000001D2  07            /* file type flag */
  000001D3  FE            /* 结束 header */
  000001D4  FF            /* sector */
  000001D5  FF            /* cylinders */
  000001D6  00280300
  000001DA  00C83C01
  /********  1DE - 1ED  =  DPT3 **********************/
  000001DE  00
  000001DF  00
  000001E0  00
  000001E1  00
  000001E2  00
  000001E3  00
  000001E4  00
  000001E5  00
  000001E6  00000000
  000001EA  00000000
  /***************  1EE - 1FD = DPT4 ********************/
  000001EE  00
  000001EF  00
  000001F0  00
  000001F1  00
  000001F2  00
  000001F3  00
  000001F4  00 
  000001F5  00
  000001F6  00000000
  000001FA  00000000
  000001FE  55AA            /* MBR 标记 */  分区3 和分区4 都是空的。
  上面的代码是用 nasm 中的 ndisasmw 反汇编出来的结果的。事实上,还有一部分不是代码部分,是数据区域 从 0x00 - 0x162 :这是 MBR 的主体代码区域
  从 0x162 - 0x1bd:这是 MBR 用到的数据区域 
  从 0x1be - 0x1fd: 这是 MBR 的磁盘分区表区域 
  从 0x1fe - 0x1ff:这是 MBR 的标志 "55AA"  1、 mbr 前期准备工作  00000000  33C0              xor ax,ax
  00000002  8ED0              mov ss,ax
  00000004  BC007C            mov sp,0x7c00
  00000007  8EC0              mov es,ax
  00000009  8ED8              mov ds,ax 0000000B  BE007C            mov si,0x7c00
  0000000E  BF0006            mov di,0x600