语雀原文链接
 
文章目录
- 1、安装DOSBox
 - 2、Debug
 - 进入Debug
 - r
 - d
 - e
 - a
 - u
 - t
 - q
 
1、安装DOSBox
- 官网下载下载地址:https://www.dosbox.com/download.php?main=1
 - 此处直接下载这个附件(内部有8086的DEBUG.EXE环境)8086汇编工作环境.rar
 - 执行安装DOSBox0.74-win32-installer.exe,安装完成打开应用出现以下界面
 

- 将MASM拷贝到非C盘的目录下,例如此处是d:\IT\MASM
 

- 在DOSBox的串口输入以下命令(d:\IT\MASM 和上一步复制的目录是一样的),出现上图中的字符表示成功
 
// 这里大致意思就是将这个d:\IT\MASM目录作为c盘挂载起来
C:\>mount c d:\IT\MASM
Drive C is mounted as local directory d:\IT\MASM\
C:\>c:
C:\>debug
 
- Mac系统下也是一样的操作
 

2、Debug
- 使用Debug程序,可以查看CPU各种寄存器中的内容、内存的情况,并且在机器指令级跟踪程序的运行
 - R命令:查看、改变CPU寄存器的内容
 - D命令:查看内存中的内容
 - E命令:改变内存中的内容
 - U命令:将内存中的机器指令翻译成汇编指令
 - A命令:以汇编指令的格式在内存中写入机器指令
 - T命令:执行机器指令
 
进入Debug
- 实际就是运行D:\IT\MASM\DEBUG.EXE
 

r
- 写法1:-r
 - 作用:查看寄存器内容
 

- 写法2:-r 寄存器名字
 - 作用:改变寄存器内容
 

d
- 写法1:-d
 - 作用:查看预设地址内存处128个字节的内容 
  
- 2000:0080,段地址2000,偏移地址0080,表示的物理地址是20080
 - 2000:0090,表示的物理地址是20090
 - 这两行之间有16个内存单元(20080~2008F),每个内存单元一个字节,8位二进制,2位16进制,就是第一行16个字节的00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
 
 

- 写法2:-d 段地址:偏移地址
 - 作用:查看指定地址的内容,此处查看的是2222的内容,前面的两个2220 2221显示空了
 

- 写法3:-d 段地址:偏移地址开始 偏移地址结束
 - 作用:查看指定地址范围的内容
 

- 写法4:连续使用d
 - 作用:可以列出后续的内容
 

e
- 用法1:-e 段地址:偏移地址 数据1 数据2
 - 作用:批量修复数据
 

- 用法2:-e 段地址:偏移地址 
  
- 逐个询问式修改
 - 空格表示接受,继续修改
 - 回车表示结束
 
 - 作用:逐个修改数据
 

- 用法3:写入字符
 

- 用法3:写入字符串
 

a
- 写法1:-a 段地址:偏移地址
 - 作用:以汇编指令的格式在内存中写入机器指令
 - 此处写入的地址是:073f:0100,对应CS IP 
  
- mov ax,0123
 - mov bx,0003
 - mov ax,bx
 - add ax,bx
 
 

u
- 写法1:-u 段地址:偏移地址
 - U命令:将内存中的机器指令翻译成汇编指令
 

t
- 写法:-t
 - 作用:执行CS:IP处的指令,逐条执行,每执行一条,IP寄存器偏移一次
 - 执行上述的几条命令 
  
- mov ax,0123
 - mov bx,0003
 - mov ax,bx
 - add ax,bx
 
 

q
- 退出debug
 










![tornado模版注入 [护网杯 2018]easy_tornado 1](https://img-blog.csdnimg.cn/direct/df03d01c32bf482cb08b638156918029.png)









