与其说是分享, 不如说是祭奠. debug中我犯了好些错误, 浪费了大量时间, 直接说结论, 看链接得到的readelf的结果: Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 ...
分类:
其他好文 时间:
2021-02-17 14:15:19
阅读次数:
0
有时候我们需要查找可执行程序的依赖的动态库,我们可以使用 readelf ,比如这样》 [root@RV1126_RV1109:/py-spidev]# readelf -d /bin/ls | grep "Shared library" 0x00000001 (NEEDED) Shared lib ...
分类:
其他好文 时间:
2021-02-10 13:14:04
阅读次数:
0
符号表是编译期产生的一个hash列表,随着可执行文件在一起 示例程序 符号表包括了变量和函数的信息,以及调试信息,可以通过nm 命令查看符号表 可见这里还包含了位置 , 变量和函数都能看到。 还有debug信息 通过readelf S a.out 可以查看所有符号表头信息 nm 和readelf 还 ...
分类:
编程语言 时间:
2020-02-28 00:59:16
阅读次数:
74
https://www.jianshu.com/p/863b279c941e 通过使用工具readelf、objdump对目标文件进行解析 objdump -x -s -d https://www.cnblogs.com/wliangde/p/3806944.html 1、nm [options] ...
分类:
其他好文 时间:
2019-12-26 12:48:51
阅读次数:
79
安装工具 我的机器环境是:macOS Mojave 10.14.4 18E226 x86_64,开始之前,得在机器上面安装一些工具: gcc binutils (readelf,objdump) 因为我在自己的机器上面安装了 brew这个包管理工具,以及zsh这个 Shell,所以我就通过brew ...
分类:
其他好文 时间:
2019-09-26 16:10:24
阅读次数:
119
1. 读 elf 文件开始的文件头部 1. 读 elf 文件开始的文件头部 [arm@localhost gcc]$ armlinuxreadelf h hello ELF Header: Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 ...
分类:
系统相关 时间:
2019-06-29 10:35:12
阅读次数:
117
概述 从事 Linux 开发的朋友们都不可避免地用到一些工具,比如 objcopy、nm、objdump、readelf 等等。其实这一系列的工具,就是所谓的 Binutils,当然 GNU 就表示它们都是可以自由地使用的 GNU 软件。 GNU Binutils,是 GNU Binary Util ...
分类:
其他好文 时间:
2019-04-21 14:17:01
阅读次数:
102
关于ELF文件的详细介绍,推荐阅读: ELF文件格式分析 —— 滕启明。ELF文件由ELF头部、程序头部表、节区头部表以及节区4部分组成。 通过objdump工具和readelf工具,可以观察ELF文件详细信息。 ELF文件加载过程分析 从编译、链接和运行的角度,应用程序和库程序的链接有两种方式。一 ...
分类:
其他好文 时间:
2018-11-03 19:22:09
阅读次数:
224
ARM ELF的函数重定位与x86是一致的,但由于汇编指令不同,再鼓捣一遍。 示例代码: 通过 readelf -r 可以查看ELF中所有需要重定位的函数,我们以fopen()函数为例,分析其重定位过程。 首先main()函数中,通过 bl 82f4调用fopen(),82f4是一个16进制表示的地 ...
分类:
其他好文 时间:
2018-10-28 00:07:36
阅读次数:
519
1.现象,程序在启动的时候报如下错误error while loading shared libraries: /home/test/lib/libtest.so: unexpected reloc type 0x03 2.分析,可以通过readelf进行查看依赖的目标文件是否存在non-pic情况 ...
分类:
其他好文 时间:
2018-09-17 17:51:09
阅读次数:
689