逆向工程之汇编

通用寄存器:

32位 名称 16位 8位
EAX 累加器 AX AH/AL
ECX 计数器 CX CH/CL
EDX 数据寄存器 DX DH/DL
EBX 基址寄存器 BX BH/BL
ESP 堆栈指针寄存器 SP
EBP 基址指针寄存器 BP
ESI 源变址寄存器 SI
EDI 目的变址寄存器 DI

EIP:下一次执行指令的地址

FLAG 寄存器中存储的信息通常又被称作程序状态字(PSW)
OF overflow flag 溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1.
SF sign Flag 符号标志 记录运算结果的符号,结果负时为1.
ZF zero flag 零标志 运算结果等于0时为1,否则为0.
CF carry flag 进位标志 最高有效位产生进位时为1,否则为0.
AF auxiliary carry flag 辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0.
PF parity flag 奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0.
DF direcion flag 方向标志 用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.
IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.
TF trap flag 陷阱标志 用于调试单步操作.
指令 作用
MOV 存值,移值
MOVS 区域复制,内存到内存
STOPS 将AI/AX/EAX的值存到EDI指定的内存
ADD 加法
SUB 减法
AND 与运算
OR 或运算
XOR 异或运算
REP 循环,次数在ECX
CMP 做减法,但结果不保留
TEST 与运算,但结果不保留
PUSH 写入堆栈,并且ESP根据字节宽度自动减小
POP 调出堆栈,并且ESP根据字节宽度自动增加
JMP 修改EIP,ESP不变
CALL 修改EIP,把下行地址压入ESP,用于函数
RET 通常用于函数返回

你可能感兴趣的:(逆向,堆栈,安全,反汇编)