现在的位置: 首页 > 综合 > 正文

DEBUG命令的应用

2013年09月05日 ⁄ 综合 ⁄ 共 2552字 ⁄ 字号 评论关闭
下面对一些常用指令进行详细剖析:
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 
 

抱歉!评论已关闭.