阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
12
返回列表 发新帖
楼主: cxdzxc

使用BOCHS逆向XP---换版发帖

[复制链接]

该用户从未签到

 楼主| 发表于 2009-11-21 19:16:45 | 显示全部楼层
原帖由 qazz0030 于 2009-11-21 19:09 发表
哪里转的???这么面熟!!!PEDIY??

我费这么大劲,你居然说我是转的,太打击我了吧,到我的论坛看看 BIOSOS.5D6D.COM 你就明白了

cxdzxc 于 2009-11-21 19:19 补充以下内容

这么详细的注释,除了我,不会再有第2个人这样写了
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

 楼主| 发表于 2009-11-23 15:59:25 | 显示全部楼层

反汇编第1.2步

;在已经有一个引导标记的情况下,如果其他分区还有引导标记,则进入出错处理程序:

0000063a: (                    ): mov al, byte ptr ds:0x7b5 ; a0b507 ;这里记录了出错信息的低位偏移地址
0000063d: (                    ): mov ah, 0x07              ; b407   ;偏移地址的高位是07
0000063f: (                    ): mov si, ax                ; 8bf0 ;把完整的出错偏移地址装入到串操作的源操作数寄存器SI中
00000641: (                    ): lodsb al, byte ptr ds:[si] ; ac ;取一个出错字符信息到AL中
00000642: (                    ): cmp al, 0x00              ; 3c00 ;判断是否到了出错信息的末尾了(末尾有0标志)
00000644: (                    ): jz .+0xfffc               ; 74fc ;是字符串末尾则跳到0642处死循环
00000646: (                    ): mov bx, 0x0007            ; bb0700 ;为INT 10H显示字符串设置参数,懒得去查手册了
00000649: (                    ): mov ah, 0x0e              ; b40e ;为INT 10H显示字符串设置参数,懒得去查手册了
0000064b: (                    ): int 0x10                  ; cd10 ;调用INT 10H显示一个字符信息
0000064d: (                    ): jmp .+0xfff2              ; ebf2 ;继续下一个字符的显示

[ 本帖最后由 cxdzxc 于 2009-11-23 16:03 编辑 ]

cxdzxc 于 2009-11-23 17:17 补充以下内容
改正下:


00000634: (                    ): jz .+0x0019               ; 7419 ;如果后面的3个分区都检测完成,则CX会被减到0,同时ZR标志被置有效,程序将跳转到064d执行----改正下,应该是:

00000634: (                    ): jz .+0x0019               ; 7419 ;如果后面的3个分区都检测完成,则CX会被减到0,同时ZR标志被置有效,程序将跳转到064F执行

[ 本帖最后由 cxdzxc 于 2009-11-23 17:20 编辑 ]
启用邀请码注册,提高发帖质量,建设交流社区
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表