如何在elf二进制文件中查找所有函数定义

时间:2015-11-25 04:18:45

标签: elf

假设我有一个lib xxx.so.所以我得到了所有的函数名和参数 在commnad之后:

readelf -Ws xxx.so  |c++filt 

它将输出以下内容:

  711: 00270209    40 FUNC    GLOBAL DEFAULT    8 debug_c_tree
  7712: 00270231   128 FUNC    GLOBAL DEFAULT    8 pp_c_tree_decl_identifier
  7713: 00270723    90 FUNC    GLOBAL DEFAULT    8 pp_c_init_declarator
  7714: 002f546c     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
  7715: 002f546c     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
  7716: 002fc9e1     0 NOTYPE  GLOBAL DEFAULT  ABS _end

但是如何在elf二进制文件中轻松转储所有函数体:

debug_c_tree() 
{
  mov eax, edx;
  ....
  ....
}

....

2 个答案:

答案 0 :(得分:4)

  

如何轻松转储所有功能体

objdump -d xxx.so

答案 1 :(得分:1)

objdump -D -z ELFfileName

这将反汇编包括所有部分的整个文件 功能之间的空间。