【软件调试】dwarf,readelf,strip

0.阅读链接

一个阅读链接

sin函数需要-lm编译

linux下的二进制工具(反编译工具)

在Linux ELF格式的文件中定位到对应的函数位置

如何在Linux ELF格式的文件(可执行binary,以及so文件)中定位到对应的函数位置

1.用 dwarfdump来看符号表的信息

DWARF推荐阅读1

gcc -g编译出来的代码会比不加-g参数编译出来的代码多出"调试信息"和"符号表".

dwarfdump a.out 可以看符号表的信息


gcc -g main.c -m32 -o main.debug (main.debug可以用dwarf和readelf看到调试信息的)
gcc main.c -m32 -o main.nodebug (用dwarf和readelf观察main.nodebug是看不到调试信息的,经过strip之后连符号表也会消失)

2.用 readelf来看目标文件中的section

首先要明白我们的可执行程序是一个ELF文件,ELF的百度百科介绍. ELF文件解析和加载.

3.strip可以抹去debug和符号表的信息

如上,strip可以将一个具有debug功能的ELF文件变成一个没有debug功能的ELF文件,会将其调试信息号符号表信息都去除.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值