DEBUG命令的应用有哪些?

DEBUG命令的应用有哪些?

下面对一些常用指令进行详细剖析:
A (Assemble) 汇编指令
1,输入汇编语句被汇编到内存的指定区段,此区段在开始时用A address 指定.
2,所有语句输入完成后,按ENTER键返回
3,完成输入后,可以用U命令观看它的机械码
D (Dump) 显示命令
1,从指定的地址开始显示内容,如果没有指定地址,则从前一个D命令继续显示.
2,如果没指定地址并是第一次,则从DS:100处开始显示.

G (Go) 转移命令
1,执行正在调试的程序,当执行到指定的地址时停止,并显示寄存器樗和下一条要执行的命令
2,G [=address].用于执行正在调试没有断点的程式.
3,程序运行结束,DEBUG显示"Porgram terminated normally"

R (Register) 寄存器命令
1,显示一个寄存器的十六进制内容,并可根据需要改变它们.
2,显示8个字母的状态标志,并可根据需要更改它们之中的任一个或全部

U (Unassemble) 反汇编命令
1,对指令进行反汇编,它们的地址和十六进制以类似于汇编语言的语句一起显示出来.
2,单独用U命令从CS:100处开始反汇编
3,U命令默认段地址包含CS寄存器中.


DEBUG 技巧应用
1,用DEBUG对子目录加密
DOS在管理文件目录时,用32个字节来保存根目录和子目录的信息,对子目录而言,0~10字节为子目录域,第11字节为属性.我们只要将子目录属性字节的值从10H改为13H时,子目录即具有拒绝DIR,TREE等命令的性能.例如:
对A盘的SUBDIK子目录进行加密:
C:/>DEBUG
-L 100 0 5 7 (将A盘中目录读入内存)
-S 100 FFF "SUBDIK" (搜索子目录)
-38EB:07c0 (搜索到的子目录地址)
-E 07CB (07C)+0B=07CB 为属性字节位址)
38EB:07CB 10.13 (修改完成)
-W 100 0 5 7 (目录写回A盘中)
-Q (退出)

2,解除BIOS密码
C:/>DEBUG
-O 70 10
-O 71 11
重新启动,BIOS密码已被攻破

3,冷启动实现
C:/>DEBUG RESET.COM
-A 100
JMP FFFF:0000
INT 20
-RCX
00007
-W
-Q

4,热启动实现
C:/DEBUG BOOT.COM
-A 0100
MOV AX,0040
MOV DS,AX
MOV AX,1234
MOV SI,0072
MOV [SI],AX
JMP FFFF:0
INT 20
-RCX
0014
-W
-Q

5。备份mbr

C:/>debug
-a
1C7E:0100 mov ax,201
1C7E:0103 mov bx,200
1C7E:0106 mov cx,1
1C7E:0109 mov dx,80
1C7E:010C int 13
1C7E:010E int 20
1C7E:0110
-g

Program terminated normally
-rcx
CX 0000
:200
-n a:/backup.mbr
-w200

-q
这样512字节的MBR就备份到软盘上的backup.mbr文件中了。
以后想恢复的时候,用l命令把备份调入内存,再用int13的
写命令(就是mov ax,301)写入。注意,写入的操作要在
纯DOS下进行

在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 满屏黑白相间

2.模拟Rest键功能
A
:100 jmp ffff:0000
:105
g

3.快速格式化软盘
L 100 0 0 * '插入一张己格式化软盘
W 100 0 0 * '放入一张欲格式化软盘
注:* 分别为:720K e |1.2M id |1.44M 21

4.硬盘格式化两种方法
(1)G=c800:05
(2) A 100
mov ax,0703
mov cx,0001
mov dx,0080
int 13
int 3
g 100
5.加速键盘
A
mov ax,0305
mov bx,0000
int 16
int 20
rcx
10
n fast.com
w
q

6.关闭显示器(恢复时,按任意键)

A
mov ax,1201
mov bl,36
int 10
mov ah,0
int 16
mov ax,1200
int 10
rcx
10
n crt-of.com
w
q
7.硬盘DOS引导记录的修复
在软驱中放入一张己格式化软盘
debug
-l 100 2 0 1
-w 100 0 50 1
把软盘放入故障机软驱中
debug
-l 100 0 50 1
-w 100 2 0 1
-q
8.清coms中setup口令
debug
-a
mov bx,0038
mov cx,0000
mov ax,bx
out 70,al
inc cx
cmp cx,0006
jnz 0106
int 20
-rcx
:20
-nclearpassword.com
-w
-q
注:以上适合super与dtk机,对于ast机,因为他的口令放在coms的4ch-51h地址处,只要将:mov bx,0038改为: mov
bx,004c即可
9.取消coms的密码(将coms数据清为初始化)
-o 70,10
-o 71,10
-g
-q

11.调用中断实现重启计算机(可以成文件)
debug
-a
int 19
int 20
-rcx
:2
-nreset.com
-w
-q