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

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


说明:


话说刚刚我改错别字的时候,不小心点错了把<进阶Linux命令二>删了。。。


所以这里重新发一下。。。?


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

sdfd


今天我们进行第三课,更深入的了解Linux下程序调试内容


Linux C程序的调试


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


objdump


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


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


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


1. 显示文件头信息


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


我们执行


objdump -f 11


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


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


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


Hacker基础之Linux篇:进阶Linux命令三
2. 反汇编需执行指令的section


我们执行


objdump -d 11


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


Hacker基础之Linux篇:进阶Linux命令三
3. 反汇编所有section


objdump -D 11


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


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


4. 显示section的header信息

objdump -h 11


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


Hacker基础之Linux篇:进阶Linux命令三
5. 显示所有header信息


objdump -x 11


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


Hacker基础之Linux篇:进阶Linux命令三
6. 显示所有header信息


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


objdump -s 11


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


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

sdfd



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


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


编译的时候要加-g选项


objdump -S 11


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


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


我们要的main函数在这里


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


Hacker基础之Linux篇:进阶Linux命令三
0x02 显示程序text段内容


objdump –section=.text -s 11


结果如下


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


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


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


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

sdfd


readelf


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


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


1. 显示文件头信息


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


执行


readelf -h 11


结果


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



Hacker基础之Linux篇:进阶Linux命令三
2. 显示文件头表信息


readelf -l 11


结果


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


Hacker基础之Linux篇:进阶Linux命令三
3. 显示所有信息


这个就简单暴力了


readelf -all 11


结果


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


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


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


等等


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


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


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


本文完


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


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


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

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


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

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


发表评论

电子邮件地址不会被公开。 必填项已用*标注