内存堆栈结构

来源:互联网 发布:oracle数据库日志清理 编辑:程序博客网 时间:2024/05/29 14:05

只解释下小端模式,现代计算机通常使用的一种内存排列格式

结合网上一段汇编代码:





push ebp                                //保存上一个调用的栈帧信息   ESP-=4;                
mov ebp,esp

push ebx//再分配一些空间,ESP-=4;
mov byte ptr [ebp-4],63h  // ‘c’//堆栈上赋值;
mov byte ptr [ebp-3],6Dh  // ‘m’
mov byte ptr [ebp-2],64h  // ‘d’
mov byte ptr [ebp-1],0   //‘/0’//堆栈结束;
push 5 //第二个参数入栈,#define SW_SHOW 5 ESP-=4;
lea eax,[ebp-4]//字符串地址赋值给EAX
push eax//第一个参数压入堆栈,ESP-=4;
mov eax, 0x77e4fd35 //WinExec Api地址
call eax//调用WinExec
pop esp//恢复堆栈


原创粉丝点击