Debug命令详解

来源:互联网 发布:linux yum安装openssl 编辑:程序博客网 时间:2024/04/19 18:41
虽然现在好的软件越来越多,但是有些软件其实是"杀鸡用牛刀"。用一个简单的Debug命令就可以速战速决。让我们体验一下Debug的威力吧!

1、Debug入门
第一步:重启计算机,按F8进入启动选择菜单,选择Safe Mode and Command Prompt Only进入Dos提示符(也可以使用DOS引导盘);
第二步:键入Debug回车,可进入Debug编辑界面。此时光标处显示为一条小横线;
第三步:键入?回车,可获得Debug帮助说明;
第四步:键入q回车,可以推出Debug。

2、用Debug清除CMOS密码
前提是你能够进入DOS哦!:)
第一步:当然是进入DOS,然后键入debug回车,进入debug编辑界面;
第二步:输入如下命令,重启电脑即可清除CMOS密码:
-o 70 10
-o 71 10
-g
-q

3、查看主板的生产日期和版本
-D ffff:05
-D fe00:0e
将看到一大段似乎是十六进制的代码,而在屏幕的右边,有英文显示主板的情况哦!

4、生成重启计算机的命令
debug
-a
int 19
int 20
回车
-rcx
:2
-n reset.com
-w
-q
退出debug以后,键入dir可以看到reset.com文件,运行reset即可重启计算机。

5、实现重启键的功能
-a
xxxx:0100 jmp ffff:0000
xxxx:0105
-g
回车后,系统自动重启。

6、使用debug测试显示器
在dos输入如下debug命令,可以简单测试显示器。
-f b800:00 f9f 20 70         满屏白光栅
-f b800:00 f9f 20 40         满屏红光栅
-f b800:00 f9f 20 20         满屏绿光栅
-f b800:00 f9f 20 10         满屏蓝光栅
-f b800:00 f9f c5 07 c4 07   满屏白色十字
-f b800:00 f9f c5 04 c4 04   满屏红色十字
-f b800:00 f9f c5 02 c4 02   满屏绿色十字
-f b800:00 f9f c5 01 c4 01   满屏蓝色十字
-f b800:00 f9f c5 05 c4 05   满屏紫色十字
-f b800:00 f9f c4 07         满屏白色横线
-f b800:00 f9f b3 07 20 07   满屏白色竖线
-f b800:00 f9f 20 70 20 70 20 70 20 70 20 70 20 70 20 70 20 70 20 70 20 70 满屏黑白相间

7、使用debug保存硬盘主引导记录
命令如下:
-a
mov ax,0201
mov bx,0200
mov cx,0001
mov dx,0080
mov int 13
int 3
回车
-rcx
:200
-n boot.dat
-w
-q
这样就会将硬盘主引导记录备份到boot.dat文件中。

8、使用debug解硬盘锁
第一步,准备一张Dos的系统盘,里面拷贝debug、fdisk等命令;
第二步,在一台正常的机器上,使用你比较熟悉的二进制编辑工具(比如windows下的UltraEdit)修改软盘上的IO.sys文件(修改前请去掉该文件的只读属性);
第三步,在文件中搜索第一个"55aa"字符串,找到以后修改为任何其他数值即可;
第四步,用这张修改后的系统软盘你就可以顺利的引导带锁的硬盘启动了。但由于其分区表已经被修改,无法使用fdisk来删除和修改分区,而且仍然无法用正常的启动盘启动系统,这个时候就要debug出马了。:)
第五步,根据下面步骤操作
A:/>debug
-a
-xxxx:100 mov ax,0201(读一个扇区的内容)
-xxxx:103 mov bx,500(设置一个缓存地址)
-xxxx:106 mov cx,0001(设置第1个硬盘的指针)
-xxxx:109 mov dx,0080(读零磁头)
-xxxx:10c int 13(硬盘中断)
-xxxx:10e int 20
-xxxx:0110(退出程序返回到指示苻)
-g(运行)
-d500(查看运行后500地址的内容)
这个时候会发现地址6be开始的内容是硬盘分区的信息。此硬盘的扩展分区指向自己,这就导致了在系统启动时查找硬盘逻辑盘的过程中导致死循环。在debug指示苻下用E命令修改内存数据,具体如下:
E6BE
xx.0 xx.0 xx.0.................
......................................
.............................55 AA
55 AA表示硬盘有效,不要修改,xx0表示把以前的数据"xx"改成0。
第六步,再用硬盘中断13把修改好的数据写入硬盘就可以了。
A:/>debug
a 100(表示修改100地址的汇编指令)
-xxxx:100 mov ax,0301(写硬盘一个扇区)
-xxxx:(这里直接回车)
-g(运行)
-q(退出)
第七步,运行fdisk/mbr(重置硬盘引导扇区),再重启系统就可以了。