E 动态汇编CALL
发布时间
阅读量:
阅读量
原来发布代码到精易论坛时我并没有阐述过代码的一些东西 可能是
我比较懒吧 不过今天我就来讲讲下面的代码的一些方方面面的东西
压制ebp寄存器至栈顶位置
赋值操作将ebp寄存器的值复制至esp寄存器
执行减法运算后将结果存储在esp寄存器中
压制ebx寄存器至栈顶位置
压制esi寄存器至栈顶位置
压制edi寄存器至栈顶位置
计算并加载edi寄存器的内容为ebp寄存器减去十六进制常量C乘以十进制16(即C×16)的结果
将十六进制常量3千零二拾(3 )赋值于ecx寄存器
将十六进制常量CCCCCCC C(即大写字母CC C CCC C)赋值于eax寄存器
循环执行将es内存区域中目标内存位置处的字节复制至es内存区域中的指定位置
push dword ptr[]
call dword ptr[ebp+8]
pop edi
pop esi
pop ebx
mov esp,ebp
pop ebp
ret
上面是一个CALL的函数的一个代码
压栈操作数ebp并入栈顶位置
将ESP寄存器的值移动到EBP寄存器中
计算地址并将其加载到edi寄存器中
压栈操作数ebx
压栈操作数esi
压栈操作数edi
计算目标内存单元地址并将其加载到edi寄存器中
将十六进制常量30H赋
全部评论 (0)
还没有任何评论哟~
