只解释下小端模式,现代计算机通常使用的一种内存排列格式
结合网上一段汇编代码:
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//恢复堆栈;