下面對一些常用指令進行詳細剖析:
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