输出: main.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped 我们看到这里的main.o文件是可重定向( relocatable) 的ELF文件,这里的重定向指的就是我们链接过程中对外部符号的引用。也就是说,编译过的main.o文件对于其中声明的外部符号如foo,x,y,是不知道的。 既然外部的符号是在...
12 SimpleSection: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=da891be2d625e27300a0a9682a57fb6cf6563d82, not stripped 13 SimpleSection.c: C source, ASCII text 14 SimpleSecti...
slub_debug_test_module.ko: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not stripped 查看elf file header readelf -h xxx.ko ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (curren...
同样,我们也得到了一个ELF格式的文件。但是两者略有不同,前者是Executable可执行文件,而后者是可重定位的Relocatable。如果你感兴趣也可以试试共享库文件,其格式依然是ELF,或许会是这样ELF 32-bit LSB shared object。 那么ELF文件内部是怎样存储数据的呢?当然不能再使用vi啦,我们可以使用readelf工具来查看下,以目标...
文件格式:ELF 64bit LSB:小端 x86-64:平台 (和工具链有关) relocatable:可重定位 not stripped:没有 stripped 可执行程序: 文件格式:ELF 64bit LSB:小端 ...
test.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped 使用readelf查看文件头 这里为了方便就直接在显示结果上添加注释信息 先查看可执行文件 dman@DESKTOP:/mnt/a/os/pla/code$ readelf -h test ELF Header: Magic: 7f 45(E)4c(L)46(F)02 01 01 00 00 00 00 00 00 00...
relocatable:可重定位 not stripped:没有 stripped 可执行程序: 文件格式:ELF 64bit LSB:小端 executable:可执行 x86-64:平台 statically linked:静态链接 not stripped:没有 stripped 动态库: 文件格式:ELF 64bit LSB:小端 share object:共享文件 x86-64:平台 ...
test: ELF 64-bit LSB shared object, ..., stripped 4. 利用工具解析 ELF 在上文的示例中频繁使用 readelf 和 objdump 来读取各种头表和节内容,除了这两个之外,还有一个 nm 工具,3者的功能非常相近。吃多嚼不烂,咱们以 readelf 为主,以 objdump 为辅讲解如何用工具解析 ELF 。
函数的调用地址(函数运行代码)(高地址) 而malloc分配的堆则存在于这些内存之上,并向上生长 全局变量,静态变量都是在分配内存的低部存在(低地址) 程序如何装载的 1 编译: 2 编译结果: file a.out...查看文件类型 a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses...
relocatable:可重定位 not stripped:没有 stripped 可执行程序: 文件格式:ELF 64bit LSB:小端 executable:可执行 x86-64:平台 statically linked:静态链接 not stripped:没有 stripped 动态库: 文件格式:ELF 64bit LSB:小端 share object:共享文件 x86-64:平台 ...