您当前的位置:首页>>编程相关>>正文
 
比较详细的MBR的分析
作者: 来源: 日期:2007-5-17 11:17:11  点击次数:

0000:0676 81FB55AA   CMP    BX,AA55       ;
0000:067A 7510       JNZ    068C          ;扩展INT13h不可用也转
0000:067C F6C101     TEST   CL,01         ;测试扩展盘访问是否被支持
0000:067F 740B       JZ     068C          ;不支持还转
; 因为扩展INT13h方式读盘与标准INT13h方式读盘有很大差别,所以0000:0686处指令修改其后的代码以保证按
; 照扩展读方式读分区引导扇区时能正确跳转到相应的处理程序中。
0000:0681 8AE0       MOV    AH,AL         ;分区类型→AH
0000:0683 885624     MOV    [BP+24],DL    ;保存驱动器号→[BP+24]
0000:0686 C706A106EB1E MOV    WORD PTR [06A1],1EEB ;修改0000:06A1处代码为"JMP 06C1"
0000:068C 886604     MOV    [BP+04],AH    ;注意:如果扩展INT13h不能使用则A改分区类型为06,但如果
                                         ;扩展INT13h能使用,则仍保持原分区类型不变
0000:068F BF0A00     MOV    DI,000A       ;★★★其它类型分区由此开始处理。此条指令初始化计数器
0000:0692 B80102     MOV    AX,0201       ;AH:读操作,AL:读取1个扇区的内容
0000:0695 8BDC       MOV    BX,SP         ;SP=7C00→BX,指定分区引导记录装入内存的位置偏移
0000:0697 33C9       XOR    CX,CX         ;CX清零
0000:0699 83FF05     CMP    DI,+05        ;注意5
0000:069C 7F03       JG     06A1          ;大于则转去读由分区表指定的分区引导扇区
0000:069E 8B4E25     MOV    CX,[BP+25]    ;小于则证明所读分区表指定的引导扇区无合法的引导记录,
                                         ;改按???再读,毕竟多一种选择多一次机会嘛!;)
; 以下标有①②者请注意它们的地址都是一样的,就是说实际运行中只可能是二者之一,但为了分析之方便,我
; 把两者都列了出来以供对比,阅读时千万别看成是两条指令了啊!
①0000:06A1 034E02     ADD    CX,[BP+02]    ;获取分区引导扇区所在的柱面号和物理扇区号
②0000:06A1 EB1E       JMP    06C1          ;如果分区类型是0Ch、0Eh而且扩展读能使用则执行该指令
;
; 0000:06A4:将可引导分区的分区引导记录装入内存指定区域
; 入口参数:AH=功能号,02为读盘操作;AL=一次读取的扇区数
;          ES:BX=读入内存的起始地址
;          CH=10位柱面号的低8位;CL:高两位是10位柱面号的高两位,低6位是物理扇区号
;          DH=磁头号;DL=驱动器号,最高位(即位7)为0是软盘,为1是硬盘
0000:06A4 CD13       INT    13            ;读分区引导记录到0000:7C00起始的区域

本新闻共9页,当前在第5页  1  2  3  4  5  6  7  8  9  


上一篇:扩展int13h调用详解(修正)
下一篇:自己编程实现多引导
  北京总部: 4006-505-808
  天 津 部: 4006-505-808
  上 海 部: 4006-505-808
  深 圳 部: 4006-505-808
  广 州 部: 4006-505-808
  重 庆 部: 4006-505-808
  南 京 部: 4006-505-808
  其它地区: 4006-505-808
经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行某省分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北亚数据恢复中心
全国统一客服热线:4006-505-808
北京总部:北京市海淀区中关村大街11号E世界A座8层832B室