Windows X64逆向(1) 认识常用寄存器

2023-01-31  本文已影响0人  NewSongs

常用寄存器:

RSP 堆栈指针
RAX 返回寄存器

RCX 第一个整型参数
RDX 第二个整型参数
R8 第三个整型参数
R9 第四个整型参数

XMMO 第一个浮点数参数(128位长度)
XMM1 第二个浮点数参数
XMM2 第三个浮点数参数
XMM3 第四个浮点数参数

寄存器地址

RAX、RBX、RCX、RDX
rax = 8字节(64位)
eax = 低4字节
ax = 低2字节
ah = 第7个字节
al = 低1字节/第8个字节

RSI、RDI、RBP、RSP
rsi = 8字节(64位)
esi = 低4字节
si = 低2字节

R8 - R15
r8 = 8字节(64位)
r8d = 低4字节
r8w = 低2字节
r8b = 低1字节

所有寄存器

寄存器 状态 使用
RAX 易失的 返回寄存器
RCX 易失的 第一个整型参数
RDX 易失的 第二个整型参数
R8 易失的 第三个整型参数
R9 易失的 第四个整型参数
R10-R11 易失的 必须根据需要由调用方保留,存 syscall/sysret 指今中使用
R12-R15 非易失的 必须由被调用方保留
RDI 非易失的 必须由被调用方保留
RSI 非易失的 必须由被调用方保留
RBX 非易失的 必须由被调用方保留
RBP 非易失的 可用做帧指针;必须由被调用方保留
RSP 非易失的 堆栈指针
XMMO 易失的 第一个浮点数参数(128位长度)
XMM1 易失的 第二个浮点数参数
XMM2 易失的 第三个浮点数参数
XMM3 易失的 第四个浮点数参数
XMM4-XMM5 易失的 必须根据需要由调用方保留
XMM6-XMM15 非易失的 必须根据需要由被调用方保留
上一篇下一篇

猜你喜欢

热点阅读