汇编debug

R:查看、改变CPU寄存器的内容

D:查看内存中的内容

E:改写内存中的内容

U:将内存中的机器指令翻译成汇编指令

T:执行一条机器指令

A:以汇编指令的格式在内存中写入一条机器指令

第一步:先是【开始】-à【运行】,输入cmd;如下:

【确定】,进入到命令行窗口,并输入debug命令,如下:

回车后,进入Debug窗口,如下:

使用e命令向特定地址的内存中写入数据(例如:本例中向1000:0的内存地址中写入 23 11 22 66 这几个数据),如下:

写入后可以使用d命令来查看,操作如下:

使用r命令可以查看各个寄存器中的值,操作如下:

可也用a指令以汇编语言的形式写入汇编代码,(先用r指令查找出cs、ip的地址,再用a指令写入汇编代码)如下:

写了汇编代码后就可以使用t指令来单步执行了,操作如下:

时间: 2024-12-12 05:36:03

汇编debug的相关文章

汇编debug 截图2

汇编debug 截图3

汇编debug 截图

寄存器速记

通用寄存器:AX BX CX DX 基址指针:BP  堆栈指针:SP  DI   SI IP Flag CS DS SS ES […]   BX,BP,SI,DI BX            ---DS SI              ---DS DI             ---DS SP             ---SS BP             ---SS IP              ---CS R:查看.改变CPU寄存器的内容 D:查看内存中的内容 E:改写内存中的内容 U:

逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值.

逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值. 在反汇编中,我们常常的会看到各种的函数调用,或者通过逆向的手段,单独的使用这个函数,那么此时,我们就需要认识一下怎么识别函数了. 一丶识别__cdecl 函数(俗称C Call),函数参数,函数返回值 首先写一个C Call的函数 1.返回值 int类型, 参数int 类型 高级代码: int __cdecl MyAdd(int a,int b) { return a + b; } int main(int argc, char* ar

_stdcall 函数 debug/release汇编代码区别

debug版本 esp 栈顶指针 ebp 存放堆栈指针 空程序:int main(){00411360 push ebp ;压入ebp00411361 mov ebp,esp ;ebp = esp,保留esp,待函数调用完再恢复,因为函数调用中肯定会用到esp.00411363 sub esp,0C0h ;esp-=0C0h(192);为该函数留出临时存储区;将其他指针或寄存器中的值入栈,以便在函数中使用这些寄存器.00411369 push ebx ;压入ebx0041136A push es

debug常用命令介绍(学习汇编)

显示所有寄存器内容 格式:-r  功能:以十六进制形式显示cpu内部个寄存器的值:以符号形式显示标志寄存器的各标志位(除tf外)的值:并将CS:IP所指的内存内容反汇编成一条指令,可视为将要执行的指令.如: -r   回车AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000DS=0AF0  ES=0AF0  SS=0AF0  CS=0AF0  IP=0200   NV UP EI PL NZ NA PO NC

汇编总结(二)DEBUG命令总结

A(Assemble) 逐行汇编 C(Compare) 比较两内存块 D(Dump) 内存 16 进制显示 E(Enter) 修改内存字节 F(fin) 预置一段内存 G(Go) 执行程序 H(Hexavithmetic) 制算术运算 I(Input) 从指定端口地址输入 L(Load) 读盘 M(Move) 内存块传送 N(Name) 置文件名 O(Output) 从指定端口地址输出 Q(Quit)   结束 R(Register) 显示和修改寄存器 S(Search) 查找字节串 T(Tra

汇编相关(ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表)

汇编相关 一些关于汇编的常用东西,包括: ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表 ASCII码字符表 DEBUG命令 BIOS功能调用表 DOS功能调用表 汇编语言错误信息表