返回:网络安全知识库 · 上一节:数据:整数存储 · 下一节:控制流逆向

🎨 颜色标记说明

  • 粉色:特别重要、主线必掌握、优先复盘的内容。
  • 蓝色:核心概念、术语、分类名。
  • 橙色:需要关注的边界、易错点、注意事项。
  • 绿色:解释类内容、帮助理解知识点。

寄存器

32 位 x86 环境 中,通用寄存器的完整宽度主要是 32 Bit

32 位通用寄存器的取值范围是 0x00000000 ~ 0xFFFFFFFF。

寄存器 位于 CPU 内部,每个 CPU 核心都有对应的一套寄存器。

通用寄存器:EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI。

段寄存器:CS、SS、DS、ES、FS、GS。

指令指针寄存器:EIP。

标志寄存器:EFLAGS。

注意:ESP 和 EBP 都和栈有关,ESP 通常指向栈顶,EBP 通常用于定位当前函数的栈帧。

寄存器 用途 编号 范围
EAX 累加器,乘除指令常使用 EAX 0 0x00000000 ~ 0xFFFFFFFF
ECX 循环计数器 1 0x00000000 ~ 0xFFFFFFFF
EDX 数据寄存器,I/O 和乘除扩展常用 2 0x00000000 ~ 0xFFFFFFFF
EBX 基址寄存器,常作为数据指针 3 0x00000000 ~ 0xFFFFFFFF
ESP 栈顶指针,指向当前栈顶 4 0x00000000 ~ 0xFFFFFFFF
EBP 栈帧基址指针,常用于定位局部变量和参数 5 0x00000000 ~ 0xFFFFFFFF
ESI 源变址寄存器,字符串操作源指针 6 0x00000000 ~ 0xFFFFFFFF
EDI 目的变址寄存器,字符串操作目标指针 7 0x00000000 ~ 0xFFFFFFFF

指令指针寄存器

指令指针寄存器:EIP。

EIP 中存储的是下一条即将执行的指令地址。

CPU 根据 EIP 指向的地址读取并执行指令,指令执行后 EIP 通常会自动指向下一条指令。

注意:EIP 属于 32 位 x86 寄存器;在 x64 环境中对应的是 RIP。