文章目录

DEBUG在每个人的机器里都会有,只是很多人对它都很陌生,不要小看它,对你的破解会很有帮助的。如你掌握了它的用法,对你的日常使用及维护工作会带来很大的方便,下面介绍一些它的基本指令用法:

 指令 格式 功能             备注
  A  A  [记忆体位址]         组译汇编语言指令 A 100
  C  C  [区段1] [区段范围] [区段2]  将两块内存作比较 C 100 L20 200
  D  D  [记忆体拉址]         显示记忆体的内容 D 100
  E  E  [记忆体位址]         编辑记忆体资料 E 100
  F  F  [指定区段范围]        填充指定内存区块内容 F 100 L10 90
  G  G  [区段:区址]         带有任选断点执行 G 100
  H  H  [运算子] [运算子]      十六进制加减运算 H 44 33
  I  I  [端口]            读/显示输入字节
  L  L  [记忆位址]或[磁碟,磁轨,磁区] 装入文件或磁区 L 100 2 1 2
  M  M  [区段范围] [记忆体位址]   传送内存区块 M 100 L10 110
  N  N  [档案名称]          定义文件及参量 N bb.com
  O  O  [端口位址]          输出字节到端口
  P  P  [区段:区址]         在下一指令上停止 P 2
  Q  Q  退出 DEBUG 界面       Q
  R  R  [寄存器]           显示修改寄存器/标志 R AX
  S  S  [记忆区段范围]        对字符进行检索 S 100 L70 ‘j’
  T  T  [=记忆区段]或[数值范围]   单步追踪 T
  U  U  [记忆位址]          对指令进行反汇编 U 100
  W  W  [记忆区段]或[指定范围]    写入文件或磁盘扇区 W 100 0 1 1

下面对一些常用指令进行详细剖析:

 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

下面一些东东自己下载后,在自己的机器上调试一下吧,顺便熟悉一下 DEBUG 的操作环境。

 DOS 下改变边框颜色的东东
 DOS 下改变显示字符的东东
 DOS 下密码输入的东东:输入不正确,就会当掉键盘,它的密码是:68885

文章目录