前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hacker基础之Linux篇:进阶Linux命令三

Hacker基础之Linux篇:进阶Linux命令三

作者头像
用户1631416
发布2018-07-25 11:42:38
7450
发布2018-07-25 11:42:38
举报
文章被收录于专栏:玄魂工作室玄魂工作室
今天我们进行第三课,更深入的了解Linux下程序调试内容

Linux C程序的调试

这里我们会用到一些更高级的工具

objdump

objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,当然,它还有其他作用

这个程序在Ubuntu中是已经预装了的

下面还是以我们的11.c源文件编译的可执行文件11为例子做演示

1. 显示文件头信息

文件头信息是判定文件类型的

我们执行

objdump -f 11

我们的文件类型是elf64-x86-64,说明我们的11ELF64位可执行文件

下面的architecture是架构的意思,我们编译环境是x86-64

2. 反汇编需执行指令的section

我们执行

objdump -d 11

3. 反汇编所有section

objdump -D 11

4. 显示section的header信息

objdump -h 11

5. 显示所有header信息

objdump -x 11

6. 显示所有header信息

这个显示是以<16进制>来显示的

objdump -s 11

下面我们用几个简单列子来演示使用objdump

0x01 输出源代码和汇编对照

编译的时候要加-g选项

objdump -S 11

前面都是一些程序的预处理操作

我们要的main函数在这里

0x02 显示程序text段内容

objdump --section=.text -s 11

结果如下

这里注意,不能单独使用-j或者--section

更多的选项可以常见man手册

readelf

这个工具和objdump差不多,但是它显示的信息更为具体,并且它不依赖BFD

这个程序也是在Ubuntu中就预装了

1. 显示文件头信息

我们还是用原来那个可执行文件11来做演示

执行

readelf -h 11

结果

2. 显示文件头表信息

readelf -l 11

结果

3. 显示所有信息

这个就简单暴力了

readelf -all 11

结果

等等

这两个命令主要面对的是汇编调试或者二进制分析

下节我们介绍几个文件类型检查和病毒文件测试分析的小技巧命令

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档