有勇气的牛排博客

实验一 查看CPU和内存 Debug 用机器指令和汇编指令编程

有勇气的牛排 267 网络、逆向、汇编 2021-03-09 20:22:08

一、 Debug的使用

1. 什么是Debug

Debug是Dos、Windows都提供的实模式(8086方式)程序调试的工具。使用它,可以查看CPU各种寄存器的内容。内存的情况和在机器码级跟踪程序运行。

2. Debug 常用功能

命令 功能
r 查看、改变CPU寄存器的内容
d 查看内存中的内容
e 改写内存中的内容
u 将内容中的机器指令翻译成汇编指令
t 执行一条机器指令
a 以汇编指令的格式在内存中写入一条机器指令

3. 进入Debug

支持与win7 32位以下
(1)win+R,然后输入canmand,进入后输入Debug

4. R命令 查看、改变CPU寄存器的内容

汇编R命令 查看、改变CPU寄存器的内容

5. D命令 查看内存中的内容

(1)方法一:d 段地址:偏移地址

d 段地址:偏移地址

(2)方法二:d 段地址:起始偏移地址 结尾偏移地址
d 段地址:起始偏移地址 结尾偏移地址

6. e命令 改写内存中的内容

格式:e 起始地址 数据 数据 数据 ...
比如,要将内存1000:0~1000:9 单元中的内容分别写为0、1、3、4、5、6、7、8、9

案例一:
79f3b3a221d01522bb7fde7e7973db10.png

640927c9ff48329f0a32b0636a8629d8.png

案例二:写入字符
2d52b808424d451e60ed061e5d1ac6de.png

7. 1 e命令向内存写入机器码

机器码 对应汇编命令 b80100 mov ax,0001 b90200 mov cx,0002 01c8 add ax,cx

9924047adf834de70eea02179c5d2a67.png

32d231acbe0432fe03202e523ccdcdbb.png

7.2 U命令翻译为汇编命令

b3a49d10a9156bf5633d37a01e21dfc4.png

7.3 t命令 执行汇编指令

(1)先修改 cs:ip=1000:0
(2)-t执行
6f411529ca3cf2db32da5653be5c0243.png

9412c6b6a97f586ceea063234cdfda84.png

8. a命令 汇编形式在内存写入机器指令

da4025a773a8497e54998d7ec6dfc24d.png


留言

专栏
文章
加入群聊