-
-
[旧帖]
分析C盘引导扇区,不解
0.00雪花
-
发表于:
2013-3-28 20:18
5764
-
在DOS下,用INT13H
我将80H盘,0面,0磁道,1扇区的内容,512个字节,读到DS:0--1FFH。然后DEBUG中用U命令查看。
xor ax,ax
mov ss,ax
mov sp,7c00h
sti
push ax
pop es
push ax
pop ds
cld
mov si,7c1bh
mov di,061bh
push ax
push di
mov cx,01e5h
repz
movsb
到这里,是不是7C1BH——7E00H共1E5H字节的内容已经被复制到061BH—0800H的空间中?
所以当下一步
RETF
时,程序将从061B开始执行,也就是程序将要执行的下一个指令是与7C0H:1BH处相同的。
而我的程序的DS:01B处的指令如下
mov si 07beh
mov cl,04h
cmp [si],ch;而0:07BEH与0:7DBEH处的值相同,为:4E
jl 002DH
jnz 003Bh
如果跳到3B的话则接下来的指令会显示:Invalid partition table.Error loading operating system.Missing operating system.系统启动失败?可是,我的计算机明明是能进入WINDOWS的。
为什么?是哪儿分析错了?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!