文章总结: 文档介绍了x86架构32位通用寄存器的基础知识,涵盖EAX至EDI等八个核心寄存器的定义与功能。通过汇编代码示例展示了EAX的数据运算、ECX的循环控制、EDX在乘法中的高位存储以及ESP与EBP在栈帧管理中的具体应用。内容结构清晰,适合初学者快速掌握逆向工程中寄存器的基本原理与操作方式。 综合评分: 75 文章分类: 逆向分析,二进制安全
逆向工程之通用寄存器
原创
高尉峰 高尉峰
ShadowRoot
2026年3月12日 10:47 河北
通用寄存器
32位通用寄存器是x86架构处理器中用于数据运算、地址计算和程序控制的一组寄存器,每个寄存器长度为32 bit(4 字节)。它们在程序执行过程中存放操作数、地址或中间结果,是CPU进行运算和控制的重要组成部分。
| | | | — | — | | 通用寄存器缩写 | 通用寄存器名称 | | EAX | 累加寄存器 | | EBX | 基址寄存器 | | ECX | 计数寄存器 | | EDX | 数据寄存器 | | ESP | 栈顶指针寄存器 | | EBP | 栈基址指针寄存器 | | ESI | 源变址寄存器 | | EDI | 目标变址寄存器 |
EAX汇编指令:
mov eax, 1add eax, 2
EBX汇编指令:
mov ebx, offset buffer;将变量buffer的段偏移地址放入EBX寄存器
ECX汇编指令:
mov ecx, 10loop label;loop是一条带隐式计数器的循环指令,它会做两件事:1️⃣ 先执行:ECX = ECX - 12️⃣ 如果 ECX ≠ 0,就跳转到label
EDX汇编指令:
无符号乘法:mul ebx等价于:EDX:EAX = EAX × EBX结果是64位高 32 位 → 存入EDX低 32 位 → 存入EAX
ESP汇编指令:
sub esp, 4mov [esp], eax;栈是向低地址增长的,给栈开辟出4个字节空间,把EAX的值存到ESP指向的内存位置。
ESP汇编指令:
sub esp, 0x20;给栈开辟出32字节空间
EBP汇编指令:
push ebp等价于:sub esp, 4mov [esp], ebp;把EBP的值写入到ESP指向的内存位置
EBP汇编指令:
mov ebp, esp;让EBP指向当前栈顶
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:ShadowRoot 高尉峰 高尉峰《逆向工程之通用寄存器》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论