• DEBUG命令的应用


    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寄存器中.


    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





  • 相关阅读:
    SSAS : 如何在http访问SSAS中指定语言标识
    网络开发:在Socket中发送大文件
    CSS应用及其优先级问题
    SSAS : 使用.NET为SSAS编写自定义程序集
    SSAS : 如何编写自定义挖掘算法
    什么是高清视频
    SSAS : 使用.NET为SSAS编写自定义程序集(二)
    循证架构寻找最适合自己的架构
    有道难题,我的OO解法
    假如我是海洋
  • 原文地址:https://www.cnblogs.com/ahuo/p/411582.html
Copyright © 2020-2023  润新知