用od转储二进制文件

来源:互联网 发布:少女前线数据清空 编辑:程序博客网 时间:2024/05/17 03:54

od就是octal dump的意思,缺省情况下用八进制输出二进制文件

 

但是,用八进制输出很难理解,通过帮助文档我们可以看到,通过-t可以指定输出类型

 

 

-x1为每次输出一个字节为小单位

其中-A 选项是指定地址的输出格式,x为十六进制,d为十进制,o为八进制

 

下面我们看od命令的一个应用

通过readelf我们查看可执行文件或者可重定位文件的结构

 

readelf -S读取的是可执行文件的节信息,其中28项是字符串节,我们通过od命令来查看它们的内容

 

readelf -s 读取的是可执行文件的符号表,我们可以通过od来分析它,首先我们查看符号表节的位置

 

通过od来查看里面的内容

 

第0行为00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

下面

97 01 00 00    00 00 00 00     00 00 00 00    12 00 00 00 

根据节的数据结构,可以得到

st_name = 0x0197

st_value = 0x0000

st_size = 0x0000

st_info = 0x12 == (STB_GLOBAL | STT_FUNC)

st_shndx = 0

 

我们要略过0x197+0xc54 = 0xdeb

 

得到abort._exit.strf,然后我们读取readelf -s

 

可以得到abort@GLIBC_2.0 (2) ,与前面相对应