disassemble可以反汇编当前函数或者指定的函数,单独用disassemble命令是反汇编当前函数,如果disassemble命令后面跟函数名或地址则反汇编指定的函数。 在执行程序时,操作系统为进程分配一块栈空间来保存函数栈帧, esp寄存器总是指向栈顶,在x86平台上这个栈是从高地址向低地址增长的,我们知道每次调用一个函数都要分配一个
这段代码首先压入ebp,这时ebp的值是main函数的栈底,然后ebp指向esp,给esp减去一个常数等于开辟了一块新的空间,这个新的空间就是fun函数的栈帧。 当有一个返回值z时,把他保存到eax寄存器里,然后移动ebp,esp,使得回到main函数的栈帧中。调用ret,和call相反,先pop出之前在栈里保存的call的下一条指令地址,然后覆...