----X86汇编
eGanWo
联系方式:[email protected]
展开
-
汇编语言:比较指令、跳转指令、JCC
一、JMP 指令:修改EIP 当前运行的下一条指令 JMP 寄存器/立即数 目标类似: mov EIP,寄存器/立即数 CALL指令: 调用函数 CALL 地址A/寄存器 等价: PUSH 地址B ;保存call的下一条指令地址,压栈,作为返回值, MO...原创 2019-04-27 08:15:41 · 14685 阅读 · 0 评论 -
X86 :C语言局部变量、返回值、多维数组、结构体字节对齐规则 的注意点
一、返回值超过32位时,存在哪里?使用两个32位的寄存器返回64位的值mov eax,dword ptr [x] mov edx,dword ptr [ebp-8]二、编译器遵规则:char类型或者short类型的参数不但没有节省空间,反而浪费了多余的空间. 基于编译器的处理: 1、小于32位的局部变量,空间在分配时,按32位分配. 2、使用时按实际的宽度...原创 2019-05-02 14:30:13 · 489 阅读 · 0 评论 -
逆向反汇编: 内存操作、常用指令操作数、寻址方式
一、常用指令:MOV指令、ADD指令、SUB指令、AND指令、OR指令、XOR指令、NOT指令MOV 的语法: MOV r/mX,rX r 通用寄存器,X 表示位数可以8、16、32 MOV rX,r/mX m 代表内存 MOV rX, immX imm 代表立即数1、源操作数可以是立即数、通用寄存器、段寄存器、或者内存单元.2、目标操作数...原创 2019-04-24 01:05:16 · 2377 阅读 · 0 评论 -
C/C++: 移位指令操作归类
1、算术移位指令 指令格式:SAL / SAR Reg / Mem, CL / Imm 左移低位补0,右移高位补最高位2、逻辑移位指令 指令格式:SHL / SHR Reg / Mem, CL / Imm 左移低位补0,右移高位补03、循环移位指令 指令格式:ROL r / m, i8 ROR r / m, CL Rotate Left4、带进...原创 2019-05-03 23:38:41 · 1075 阅读 · 0 评论