几个命令了解ELF文件的”秘密“
发布时间:2019-10-17 06:45:54 所属栏目:Windows 来源:守望先生
导读:前言 在Linux中,可执行文件的格式是ELF格式,而有一些命令可以帮助我们了解它们更多的秘密,以此来帮助我们解决问题。 示例程序 我们的示例程序如下: #includestdio.h intmain(intargc,char*argv[]) { printf(helloshouwangxianshengn); return0; } 编
新加的函数或者全局变量不知道有没有编译进去?如何看看符号表里有没有吧(前提是符号表没有被去掉):
如果没有找到或者前面是U,没有地址,表明在这个elf文件中没有定义这个函数。 链接出问题的时候很有用。 为ELF文件瘦身 前面通过file查看文件时,看到有not stripped的字样,由于它里面包含了一些符号表信息,因为文件会稍大,如果去掉,二进制文件将会变小,但是里面的符号表信息也就没有了,将会影响问题定位。
可以看到,瘦身后二进制文件变得更小。当可执行文件越大时,瘦身效果就会更明显了。当然放心,这不会影响程序的正常运行,只是对调试和问题定位有影响。 这个时候再看符号表:
打印文件校验和 二进制文件传输过程中有没有被损坏或者是否是同一个版本,看看校验和以及程序块计数吧:
当然你也可以使用:
来比对md5值。 总结 ELF文件中隐藏了丰富的信息,只要使用得当,将会帮助我们更好地进行开发或者问题的定位。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |