GCC帧指针的开启与关闭以及反汇编测试
Posted rtoax
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCC帧指针的开启与关闭以及反汇编测试相关的知识,希望对你有一定的参考价值。
编译阶段:
- -fno-omit-frame-pointer:开启帧指针
- -fomit-frame-pointer:关闭帧指针
代码中添加:
- __attribute__((optimize("no-omit-frame-pointer"))) 修饰函数,开启帧指针
- __attribute__((optimize("omit-frame-pointer"))) 修饰函数,关闭帧指针
反汇编测试
#ifdef OFF
#define _frame_pointer __attribute__((optimize("omit-frame-pointer")))
#else
#define _frame_pointer
#endif
_frame_pointer int foo()
{
int i = 0;
return i+1;
}
以上是关于GCC帧指针的开启与关闭以及反汇编测试的主要内容,如果未能解决你的问题,请参考以下文章
自制反汇编工具使用实例 其二(使用xmm寄存器初始化对象,以及空的成员函数指针)
C++反汇编第二讲,反汇编中识别虚表指针,以及指向的虚函数地址
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段