標籤: 暫無標籤

DEBUG是一個DOS實用程序,是供程序員使用的程序調試工具,可以用它檢查內存中任何地方的位元組以及修改任何地方的位元組 前後的值以及比較與移動內存中數據的範圍,讀寫文件與磁碟扇區。

DEBUG是一個DOS實用程序,是供程序員使用的程序調試工具,可以用它檢查內存中任何地方的位元組以及修改任何地方的位元組。它可以用於逐指令執行某個程序以驗證程序運行的正確性,也可以追蹤執行過程、比較一個指令執行前後的值以及比較與移動內存中數據的範圍,讀寫文件與磁碟扇區。

1 debug命令 -簡介

  它的功能包括以下幾個方面。
  1,直接輸入,更改,跟蹤,運行彙編語言源程序;
  2,觀察操作系統的內容;
  3,查看ROM BIOS的內容;
  4,觀察更改RAM內部的設置值;
  5,以扇區或文件的方式讀寫軟盤數據
  DEBUG把所有數據都作為位元組序列處理。因此它可以讀任何類型的文件。DEBUG可以識別兩種數據: 十六進位數據和ASCⅡ碼字元。它的顯示格式是各個位元組的十六進位值以及值在32與126之間的位元組的相應ASCⅡ碼字元。
  在DEBUG中輸入數據有兩種方法: 提示方法和非提示方法。在用提示方法時,用戶可以輸入要求輸入數據的命令,後跟數據所要輸入的地址。然後用戶就可以看到該地之中已有內容及一個冒號提示符。此時用戶可以在提示符下輸入一個新的值或者按下回車鍵或CTRL+C回到短橫(-)提示符。在運用非提示方法時,用戶可以輸入要輸入數據的內存地址以及要輸入的位元組。但與使用字處理程序或正文編輯程序時不一樣,在使用DEBUG時,用戶不能直接移動游標到一入口點輸入或修改數據,而要一次輸入一個或幾個位元組。
  在使用DEBUG時可以只涉及內存中的數據,從而一般都要指定所要處理的內存地址,地址的輸入格式是: [段地址]: [位移]。如果沒有輸入地址,DEBUG將假定為當前內存段,從位於地址100H的位元組開始。前100H位元組保留給程序段前綴使用,這一專用區域用於建立DOS與程序之間的聯繫。DEBUG總是用四位十六進位數表示地址。用兩位數表示十六進位數據。
  講到這裡大家應該對DEBUG有了初步的了解,但是光知道這些可不夠,接下來我來講講DEBUG的命令格式和命令。當輸入
  DEBUG
  調用了DEBUG程序,就會出現一個短橫提示符,用戶就可以在這一短橫后輸入DEBUG程序的命令。有些DEBUG命令會顯示一個內存地址併產生一個作為提示符的冒號。在這些提示符后,用戶可以輸入一個新值以改變所顯示位置原來的值。如果用戶不輸入一個新值而是按下回車或CTRL+C,那麼原來的值不會改變。
  一般用不著把地址和命令名字分開。例如,用轉儲命令D察看100號地址的數據,那麼這個命令可以用以下任一種形勢輸入:
  D100
  D 100
  D。100
  D,100
  如果輸入的命令中出現了錯誤,DEBUG將在下一行對著錯誤的位置標記出來,例如:
  -s100 d 12
  ^Error
  DEBUG的命令及功能如下:
  * A[地址] 彙編命令
  功能: 將指令直接彙編成機器碼輸入到內存中。
  說明: 用於小段程序的彙編及修改目標程序,所有輸入的數字均採用十六進位, 用戶裝入內存的彙編語句是連續存放的,若沒有指定地址,並且前面沒有使用彙編命令,改語句被彙編到 CS:0100區域。
  例A:>DEBUG
  -a 0100
  08F1:0100 MOV AH,09
  08F1:0102 MOV DX,109
  08F1:0105 INT 21H;
  08F1:0107 INT 21H
  08F1:0109 db 'May I help you $'
  08F1:0115←離開a狀態
  -g ←運行
  May I help you 運行結果
  Program terminated normally表示運行正常
  * C[源地址範圍][目的地址]比較命令
  功能: 比較兩內存區域中的內容是否相同,若不同則顯示其地址和內容。
  如:C4000:0 3F 100
  就是用來比較4000;0000-4000:003F與DS:0100-DS:013F之間的內容:其顯示格式如下:
  內存地址1內含值1內含值2內存地址2
  例:比較4000:0 3F 100內容的差異
  -C4000:0 3F 100
  4000:0000 64 43 08F1:0100
  4000:0001 3E 69 08F1:0101 顯示內容的差異處
  4000:0002 78 FF 08F1:0102
  ……………………………………
  如果要比較的範圍在DS內,則段地址不必指出:
  如:-C 0 4 100;比較DS:0---DS:4與DS:100---DS:104
  C命令的另一種格式如下:C地址1 L 長度 地址2
  如:-C000:0 L4 0;由0000:0與與DS:0開始比較它同-C0000:0 3 0命令相等,顯示結果如下:
  0000:0000 8A C0 08F1:0000
  0000:0001 10 20 08F1:0001 它們都比較4個位元組
  0000:0002 1C 00 08F1:0002
  0000:0003 49 7F 08F1:0003
  * D[地址] 或D[起始地址][目的地址] 轉儲命令
  功能: 以內存映象方式顯示內存中的信息。
  說明: 轉儲用左右兩部分顯示內存映象內容,左邊以十六進位,右邊以ASCII字元顯示,所有不可列印字元用句號(。)表示。每行顯示16個位元組的內容,在第八和第九個位元組之間有一個連字元 - 此命令隱含的段地址為DS的值。若未指定起始地址,則D命令從顯示的最後一個單元的下一個單元開始顯示,若以前沒有使用給D命令, 則從初使化的段寄存器的內容,加上地址偏移量 0100H 開始顯示。
  例:-d10,4f即為顯示DS:4f的內容在D命令中如不指出段地址,則其默認為DS段。
  如指明段地址,則從指明的段地址列出指定的範圍
  如:-dfff:00:0f
  我們也可以指定長度來列出所需要內存內容
  如:-d 100 L20即為顯示由DS:100-DS:11F的內容,共20H個位元組:
  * E[地址] [位元組串) 修改內存命令
  功能: 從指定的地址開始修改內存值。
  格式:E起始地址[數據行]
  (1)用給定內容代替指定範圍的單元內容
  -E地址 內容表
  例:-E100 41 42 43 44 48 47 46 45
  -D 100,L08
  08F1:0100 41 42 43 44 48 47 46 45 ABCDHGFE…
  (2)逐個內存內容
  例:-E 100:
  08F1:0100 76 42 :42是操作員鍵入
  此命令是將原100號內存內容76修改為42,用D命令可察看。
  * F[地址範圍] [位元組或位元組串] 填寫命令
  功能: 將要填寫的位元組或位元組串填入由地址範圍指定的存儲器中。
  例:-f100 120 61 62 63 64
  -d100 11f
  08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abcd abcd abcd abcd
  08F1:0110 13 67 98 E3 C8 2E B3 B6 -03 21 AC 19 3121 4E 96 g……1…
  如果數據行超出指定的範圍,則填不下的數值會被忽略。
  例:-f 100 107 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D -d 100,lof
  08F1:0100 41 42 43 44 45 46 47 64 -61 62 63 64 ABCDEFGdabcdabcd
  由上例可看出,超出範圍的數據被忽略
  另外,F和E命令都可填入字元串:
  如:-F 100 105 "MSDOS"
  -d 100 l0f
  08F1:0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 MS DOS FGabcd abcd
  * G[=起始地址] [[斷點]……] 執行命令
  功能: 執行正在調試的程序,當達到斷點時停止執行, 並且顯示寄存器標誌和下一條要執行的命令。
  說明: 如果沒有指定起始地址,那麼當前指令地址由CS,IP寄存器的內容來決定,如果用戶指定起始地址就從指定的起始地址開始執行。如果指定斷點,當指令到達指令地址時停止執行,並顯示各寄存器標誌位的內容和下一條要執行的命令,最多允許用戶設定10個斷點。
  例:A:\>debug tan.exe
  -u:反編譯成彙編語言程碼
  …………
  . .
  -g 100 指定中斷點
  Program terminated normally:
  另外:我們在DEBUG下可運行一個文件.EXE
  如:A:\>debug tan.exe
  -g
  即可開始運行此程序,和在DOS下完全一樣:
  * H[數值][數值] 十六進位算術運算命令
  功能: 分別顯示兩個十六進位數相加的和以及第一個數減去第二個數的差。
  說明: 替用戶完成簡單的十六進位數的運算。
  例:-h4538 5623
  9B5B EF15
  * I[埠地址]
  功能: 從指定的埠輸入並顯示(用十六進位)的一個位元組。
  例:-i70
  F9;顯示70埠的內容為F9
  I命令可由80X86的64K個埠取數據
  * L[地址][盤號:][邏輯扇區號][扇區數]
  功能: 將一個文件或盤的絕對扇區裝入存儲器。
  說明: 單個L命令能夠裝入的最大扇區數是 80H,其中盤號 0,1,2,3……分別代表 A,B,C,……出現讀盤錯,顯示錯誤信息。
  (1)格式1.L裝入地址 驅動器名 起始扇區/扇區數
  這種方式可把磁碟上指定扇區範圍的內容裝入到存儲器從指定地址開始的區域中,在此外扇區編號引用邏輯/扇區的方式。
  例:-L 100 0 01,將A驅的0扇區裝至CS:100上
  -d 100 10f
  08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00.L,MSDOS 6.22……
  (2)格式2:L裝入地址
  這種方式可把指定文件裝入內存,裝入的文件可在進入DEBUG時指定亦可用N命令建立,格式為-n文件名:
  例1 DEBUG tan.pas
  -L 100
  例2 DEBUG
  -n tan.pas
  -L 100
  須知:L命令只能讀取邏輯扇區,不能讀取硬碟分區表
  L命令中所用的磁碟代碼A=00,B=01,C=02……
  * M[地址範圍][起始地址] 數據傳送命令
  功能: 把地址範圍內的存儲器單元的內容移到起始地址的指定地址中
  說明: 傳送期間,源區和目標區可以部分重疊;傳送后源區域數據保持不變。
  例:-e100 41 42 43 44 45
  -d100 10f
  08F1:0100 41 42 43 44 45 62 62 63 64 -61 62 63 64 61 62 63 64 ABCDEBCDABCDABCD
  -M 100 104 110
  -d110 L1F
  08F1:0100 41 42 43 45 0A 21 19-20 01 01 20 07 96 87 9F ABCDE……
  * N[盤號: ] [路徑] [文件名] [擴展名]
  功能: 定義操作文件名。
  說明: 可同時定義兩個操作文件,並將形成的文件控制塊相應的設置在內存 CS:5C和CS:6C上,供以後的L和W命令操作之用。我們在運行程序偵錯時,在啟動DEBUG時在其後加文件程序名以及該程序的參數或運行文件,但當我們偵錯一段后,可能裝入其它文件來測試,這時我們可利用N命令來設置而無需退出DEBUG。
  例:A:\>DEBUG tan.exe
  -n youg.pas
  當程序偵錯一段時間后,若要把tan.exe裝入tan1.pas則-ntanl.pas
  * O[埠地址][數據] 輸出命令
  功能: 發送位元組到指定的輸出埠。
  例:當我們遇到開機要求輸入口令時,可用如下方式取消
  -O 70 10
  _O 71 00
  * P[=地址] [數據] 進程命令
  功能: 將一個子程序調用指令,循環指令,中斷指令或一個重複字元串指令,停止在下一條指令上。
  說明: 在執行一條子程序調用指令,循環指令,中斷指令或一個重複字元串指令時,發出P命令去執行有關指令,並且返回到要執行的下一條指令。 P命令和T一樣選用來跟蹤程序運行過程用的命令,我們可以在P命令中指定程序運行的起始地址,指令個數,如未指定則CS:IP所指定程序的地址開始一次運行一條令。
  P與T命令的差別在於P命令把CALL/INT當成一條指令來執行,簡化了跟蹤過程,P命令只運行RAM內存的命令,而T命令則可運行RAM和ROM里的程序。
  * Q 退出命令。
  * R[寄存器] 寄存器命令
  功能: 一,顯示單個寄存器的內容,並提供修改功能。 二,顯示所有寄存器內容, 再加上字母標誌位狀態以及要執行的下一條指令。 三,顯示8個標誌位狀態, 並提供修改功能。若不想改變則回車即可。
  例:-r bx
  bx 0050
  :51
  -r
  AX=0000 BX=0051 CX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
  DS=0003 ES=0CD3 SS=0CD3 IP=0100 NV UP EI PL NZ NA OP NC
  0CD3:0100 0F DB OF
  若想改變標誌寄存器,用-RF回車,則DEBUG會將標誌內容顯示出來,若想改變任一標誌,只要輸入該標誌的名稱即可。
  標誌名稱 設置 未設置 標誌名稱 設置 未設置
  滋出 OV(未溢出) NV(未溢出) 零位 ZR NZ(不等於零)
  方向 DN(減少) UP(增加) 輔助進位 AC NA(無進位)
  中斷 EI(許可) DI(禁止) 奇偶標誌 PE(偶) PO(奇)
  符號 NG(負) PL(正) 進位 CY NC(清除進位)
  例:-Rf
  NV UP EI PL NZ NA PO NC :-OV DI← 輸入值
  * S[地址範圍] [字元串]
  功能: 在指定的地址範圍內查找給定的字元串。
  說明: 用來指定在地址範圍內查找一個字元串,若找到則顯示其地址, 否則直接顯示DEBUG提示符。隱含地址為DS段值。
  在此內存可以用(起始地址)(終止地址)或(起始地址)L(長度)的方式來表示,而字元串與數據行則可混合使用:如:02.76"BC"。
  例:-d100 lof
  08F1:0100 OF 2A 41 43 0B 31 42 96 -FF F0 B9 8A F3 00 B1.. AC,1B...
  -S 100 lof"AC"
  08F1:0102← 表示找到,由0102開始,
  * T[=地址][指令條數] 跟蹤命令
  功能: 逐條跟蹤程序的執行,每條指令執行后都將顯示各寄存器的內容。
  說明: 通常採用跟蹤一條指令,但用戶也可以用指令條數設定一次跟蹤多條指令, 每執行一條指令之後,顯示所有寄存器的內容和標誌狀態。
  逐條指令跟蹤 -T[=起始地址]
  從指定地址起執行一條指令后停下來,顯示所有寄存器內容及標誌位的值,如來指定地址則從當前CS:IP開始執行。
  A:\>DEBUG
  -A
  08F1:0100 MOV DL,03H
  08F1:0102 MOV AH,02H
  08F1:0104 INT 21H
  08F1:0106 INT 20H
  08F1:0108
  -T
  AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
  DS=08F1 ES=08F1 SS=08F1 CS=08F1 1P=0105 NV UP EI PL NZ PO CY
  09F1:0102 B402 MOV AH,02
  若指定起始地址,則T命令會從指定的地址開始跟蹤,我們還可以指定跟蹤一次所運行指令的個數,用Ctrl+S暫停屏幕的顯示,以便觀察。
  -t=100 10;由CS:100開始跟蹤10條指令
  * U[起始地址]或者[地址範圍]
  功能: 將內存中的內容轉換為彙編語句。
  說明: 反彙編的位元組數取決與用戶的系統顯示形式,以及在U命令中使用的可選項。
  (1)從指定地址開始編譯,反彙編32個位元組
  -U[地址]←從CS:100開始,其反彙編32個位元組
  如果地址被省略,則從一個U命令的最後一條指令的下一條單元開始彙編32個位元組。
  (2)對指定的存貯範圍進行反彙編
  -u起始地址 終止地址(L 長度)
  例:-U 100 109
  08F1:0100 CD20 INT 20
  08F1:0102 FF9F009A CALL FA12[BX+9A00]
  08F1:0106 F0 LOCK
  08F1:0107 FE1D CALL FAR [DI]
  08F1:0109 F0 LOCK
  說明:如指定了範圍則整個範圍全都會被反編譯
  * W[地址] [盤符:] [起始扇區] [扇區數] 寫盤命令
  功能: 將修改過的數據寫到磁碟上。
  說明: 可以將指定內存地址開始的數據寫在磁碟上,可以在沒有指定參數, 或指定地址參數的情況下,將調試文件寫在磁碟上。
  在運行W時需設置文件的大小CX或BX寄存器
  (1)把數據寫入磁碟的指定扇區
  -W 起始地址 驅動器名 起始扇區 扇區數
  (2)把數據寫入指定文件中
  -W 起始地址
  例A:\>DEBUG
  -A
  08f1:0100....
  . 寫入程序段
  08F1: 012A....
  -R CX
  CX:0000
  :2A←寫入位元組數,即為程序結尾地址減起始地址
  -n tan.com←設置文件名,需後綴為com
  -w
  Wring 002A bytes
  -q
  A:\>TAN←即可執行此程序
  * "XD"命令:釋放EMS內存
  例:-XD 0001
  handle 0001 deallocatel←釋放了
  利用XD釋放后可再分配
  *"XM"命令;把擴充內存上的內存頁區映射到主內存區
  格式:XM RAM 長頁碼 主內存頁碼句柄
  例:-XM3 2 0001←把0001號句柄的第3號邏輯頁區映射到2號真實頁區
  Logical page 03 mapped to physical page 02
  *"XS"命令:顯示當前EMS使用情況。
  格式 -XS
  實用debug命令集錦
  1. 非物理0磁軌壞軟盤的修復
  此種損壞從軟盤盤面上來看並沒有明顯的划傷和霉變。一般可以恢復其數據,也可是軟盤重新在利用。
  處理方法如下:
  ⅰ. 進入debug
  ⅱ. 取一張引導區沒有損壞的好磁碟,插入軟碟機
  -l 100 0 0 1
  ⅲ. 插入損壞的磁碟到軟碟機
  -w 100 0 0 1
  -q
  注意:好盤與壞盤容量必須相同
  2. 物理0磁軌壞軟盤中的數據讀取
  對於0磁軌損壞的磁碟,一般來說是應該拋棄了,當你也不妨試一試已下方法:
  磁化處理:用較強的磁鐵在靠近壞磁碟的表面處反覆移動,切不可碰到磁碟介質,以免划傷表面,然後在試試格式化。
  軟盤換面:小心的將磁碟打開,堅磁片與金屬晶元分開,方面后再按原來的方法粘在一起即可,在重新格式化。
  diskfix:對於diskfix想必大家都用的比較多了,裡面的磁碟修復功能很好用的。能修復大多數磁碟表面錯誤。
  3. 硬碟啟動失敗處理
  在正常機上格式化一張軟盤,無其它數據
  進入debug
  -l 0 2 0 1
  -w 0 0 0 1
  -q
  用系統盤啟動故障機后
  在進入debug
  -l 0 0 0 1
  -w 0 2 0 1
  -q
  4. 軟盤不能正確讀取解決方法
  如果使用軟盤時出現如下提示
  general failure error reading drive a
  可以用以下方法解決:
  將一張好盤插入軟碟機
  進入debug
  -a 100
  ****:*100 mov al,0
  ****:**** mov cx,1
  ****:**** mov dx,0
  ****:**** mov bx,1000
  ****:**** int 25
  ****:**** int 20
  回車
  -g=0100
  插入壞盤並進入debug
  -a 200
  ****:*100 mov al,1
  ****:**** mov cx,1
  ****:**** mov dx,0
  ****:**** mov bx,1000
  ****:**** int 26
  ****:**** int 20
  回車
  -g=200
  5. cmos 數據的保存,恢復
  cmosram的』地址口』的口地址為 70h 』數據口』的口地址為 71H 讀取時只需將讀的cmosram的地址送到70h,隨後就可以從71 h中得到所需數據。
  (1)讀取cmos數據 進入debug
  -a 100
  ****:*100 mov bx,1000
  ****:**** mov cx,0040
  ****:**** mov ax,0000
  ****:0109 mov dx,cx
  ****:**** mov cx,0005
  ****:010e loop 010e
  ****:**** out 70,al
  ****:**** mov cx,0005
  ****:0115 loop 0115
  ****:**** in al,71
  ****:**** mov 【bx】,al
  ****:**** cmp ah,0e
  ****:**** jb 0123
  ****:**** add ah,80
  ****:0123 inc ah
  ****:**** inc bx
  ****:**** mov cx,dx
  ****:**** mov al,ah
  ****:**** loop 0109
  ****:**** mov ah,3c
  ****:**** mov dx,0150
  ****:**** mov cx,0020
  ****:**** int 21
  ****:**** mov bx,ax
  ****:**** mov dx,1000
  ****:**** mov cx,0040
  ****:**** mov ah,40
  ****:**** int 21
  ****:**** mov ah,4c
  ****:**** int 21
  -a 150
  ****:0150 db "cmos.dat",0
  ****:0159
  -r cx
  cx 0000
  :60
  -n save cmos.com
  -w
  -q
  -w 100 2 0 1
  -q
  (2)恢復cmos數據 進入debug
  -a 100
  ****:*100 mov cx,0150
  ****:**** mov ah,3d
  ****:**** mov al,00
  ****:**** int 21
  ****:**** mov dx,1000
  ****:**** mov bx,ax
  ****:**** mov cx,0040
  ****:**** mov ah,3f
  ****:**** int 21
  ****:**** mov ax,0000
  ****:**** mov bx,dx
  ****:**** mov dx,cx
  ****:**** mov cx,0005
  ****:**** loop 011f
  ****:**** mov al,ah
  ****:**** out 70,al
  ****:**** mov cx,0005
  ****:**** loop 0128
  ****:**** mov al,【bx】
  ****:**** out 71,al
  ****:**** jb 0136
  ****:**** add ah,80
  ****:**** inc ah
  ****:**** inc bx
  ****:**** mov cx,dx
  ****:**** loop 011a
  ****:**** mov ax,0040
  ****:**** mov ds,ax
  ****:**** mov ax,1234
  ****:**** mov 【0072】,ax
  ****:**** jmp ffff:0000
  -a 150
  ****:0150 db "cmos.dat",0
  ****:0159
  -r cx
  cx 0000
  :60
  -n write cmos.com
  -w
  -q
  6. dos 引導扇區數據的保存與恢復 
  dos引導程序是被讀到內存0000:7c00初開始執行的
  獲得正常的引導程序
  進入debug
  -l 100 2 0 1
  -n a:dosboot.com
  -r cx
  :200
  -w
  -q
  裝入引導程序
  進入debug
  -n a:dosboot.com
  -l
  -r cx
  :200
  -w 100 2 0 1
  -q
  7. 硬碟主引導扇區數據的保存與恢復
  硬碟工作正常時讀取主引導扇區信息
  注意:當分區改變時不能用此數據恢復
  保存主引導扇區數據進入debug
  -a 100
  mov ax,0201
  mov bx,0110
  mov cx,0001
  mov dx,0080
  int 13
  int 3
  -g=100
  -e 102 3
  -e 10e c3
  -r bx
  bx 0110
  :0
  -r cx
  cx 0001
  :210
  -n a:rboot.com
  -w
  -q
  恢復主引導扇區數據:只需運行a盤的rboot.com
  8. 硬碟非分配表備份與恢復
  計算機運行正常時分配表備份
  進入debug
  -l 100 2 0 1
  -n a:dbrup.dat
  -r cx
  :200
  -w
  恢復
  進入debug
  -n a:dbrup.dat
  -l
  -w 100 2 0 1
  -q
  9. 硬碟保護卡內幕
  對於經常在外邊上機的人來說,計算機維護人員一旦設置硬碟保護卡,自己作一些事來特別麻煩,想不想屏蔽掉硬碟保護卡,用以下方法或許可以借鑒:
  進入debug
  -a 100
  mov ah,0
  mov dl,0
  int 13
  -t
  一直按t知道找到 cs=f000 記下此時 ds 的值 如:1234
  -e e0:4c
  34 12 00 f0
  -q
  10. 用debug作硬碟低級格式化
  硬碟低級格式化一般用dm,但debug也可以低級格式化硬碟
  進入debug
  -a 100
  mov ax,500
  mov bx,180
  mov cx,0
  mov dx,80
  int 13
  int 3
  -e 180 0 0 0 2
  -q
  11. 冷啟動與熱啟動
  用debug實現系統冷啟動與熱啟動程序
  冷啟動:
  -a 100
  jmp ffff:0
  int 20
  -n a:reset.com
  -r cx
  :0007
  -w
  -q
  熱啟動:
  -a 100
  mov ax,0040
  mov ds,ax
  mov ax,1234
  mov si,0072
  mov (si),ax
  jmp ffff:0
  -n a:rset.com
  -r cx
  :0014
  -w
  -q
  12. dos內部命令加密
  如加密 dir
  用PCTOOLS或diskedit找 c:下的command.com文件
  編輯該文件
  pctools中:f-----f1 然後找所有03 44 49 52 找到后按f5修改成你所要的值 如: foo 以後只有輸入foo 才能列出文件或文件目錄。
  diskfix 有良好的界面,操作起來和pctools差不多。
  注意:如果不能修改,則解開文件的鎖定 luck
  其它命令代碼
  type 04 54 59 50 45
  cd 02 43 44
  del 03 44 45 44
  copy 04 43 49 50 59

2 debug命令 -參考資料

http://baike.baidu.com/view/569101.htm

 

上一篇[稻腳青]    下一篇 [夜夜夜賊]

相關評論

同義詞:暫無同義詞