寄存器 - 逆向
逆向学习笔记 1: 寄存器反编译是逆向工程中无法绕开的关键步骤。要掌握逆向工程,必须深入理解反编译,而这又要求对汇编语言有足够的了解。学习汇编的第一步是熟悉计算机中各个寄存器的作用和功能。 1. 通用寄存器扩展最初的 x86 架构是 16 位的,后来随着实际运用的需要, 寄存器的位数不断增加, 在现代的 CPU 架构中,寄存器的位宽从 16 位扩展到 32 位,再扩展到 64 位时,新寄存器通常是基于原有寄存器扩展而来。 以通用64位寄存器RAX为例: 名称 位宽 描述 RAX 64 全部64位寄存器 EAX 32 RAX的低32位 AX 16 EAX的低16位 AH 8 AX的高8位 AL 8 AX的低8位 如果所示, 寄存器扩展是基于复用低位的基础实现的, 例如EAX 包含了 AX,RAX 包含了 EAX。寄存器低位的访问(如 AX、AH、AL)会影响到对应的高位寄存器。 这种设计充分利用了硬件资源,保证了向后兼容性,同时支持更高的运算位宽。 2. 指令指针寄存器 (EIP)指令指针寄存器(EIP)指向下一条即将执行的指令,...





























































