今天做pwn程序题在栈的部分琢磨了好久,没搞清楚char类型和int类型在栈中占几小个,就一直纠结在画图那,之后去查了一下寄存器大小,像eax,ecx,esp,ebp这种寄存器都是32位的,也就是刚好一个整型的内存大小,而栈帧中的一个刚好可以保存一个寄存器,所以应该是32位,保存一个char变量就占了1/4格。
栈帧里像什么ebp-Ch到ebp-10h之间的空间是10h-Ch=4,所以相当于可以保存4个char变量/一个int变量/一个寄存器的值
今天做pwn程序题在栈的部分琢磨了好久,没搞清楚char类型和int类型在栈中占几小个,就一直纠结在画图那,之后去查了一下寄存器大小,像eax,ecx,esp,ebp这种寄存器都是32位的,也就是刚好一个整型的内存大小,而栈帧中的一个刚好可以保存一个寄存器,所以应该是32位,保存一个char变量就占了1/4格。
栈帧里像什么ebp-Ch到ebp-10h之间的空间是10h-Ch=4,所以相当于可以保存4个char变量/一个int变量/一个寄存器的值