#include<stdio.h>
void fun(int arg)
{
int ebp=0;
asm("movl %%ebp, %0 \n\t":"=r"(ebp)); //利用汇编直接读取ebp
printf("asm ebp:[%x]\n",ebp);
printf("arg ebp:[%x]\n",(&arg-2)); //根据栈的结构读取ebp
while(1); //for gdb attach
}
int main()
{
fun(12);
return 0;
}
读取ebp值的两种方式
最新推荐文章于 2021-05-21 09:42:15 发布