TAG:随筆雜記
下面對一些常用指令進行詳細剖析:
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寄存器中.
技巧應用
1,用
對子目錄加密
DOS在管理檔案目錄時,用32個位元組來儲存根目錄和子目錄的資訊,對子目錄而言,0~10位元組為子目錄域,第11位元組為屬性.我們隻要将子目錄屬性位元組的值從10H改為13H時,子目錄即具有拒絕DIR,TREE等指令的性能.例如:
對A盤的SUBDIK子目錄進行加密:
C:\>
-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密碼
-O 70 10
-O 71 11
重新啟動,BIOS密碼已被攻破
3,冷啟動實作
RESET.COM
-A 100
JMP FFFF:0000
INT 20
-RCX
00007
-W
-Q
4,熱啟動實作
C:\
BOOT.COM
-A 0100
MOV AX,0040
MOV DS,AX
MOV AX,1234
MOV SI,0072
MOV [SI],AX
JMP FFFF:0
0014
5。備份
mbr