引言 本文是对程序员的自我修养:链接、装载与库中第3章的实践总结(和结构相关的示意图都是用Gliffy Diagrams画的🤓),通过使用工具readelf、objdump对目标文件进行解析,学习目标文件的结构。 1. 目标文件 1.1 目标文件的定义 编译器编译源代码后生成的文件叫做目标文件。在 ...
分类:
其他好文 时间:
2018-05-27 14:48:36
阅读次数:
299
ELF目标文件格式最前部ELF文件头(ELF Header),它包含了描述了整个文件的基本属性,比如ELF文件版本、目标机器型号、程序入口地址等。其中ELF文件与段有关的重要结构就是段表(Section Header Table) 文件头 我们可以使用readelf命令来详细查看elf文件,代码如清 ...
分类:
其他好文 时间:
2018-04-16 13:01:02
阅读次数:
159
程序的构成 Linux下二进制可执行程序的格式一般为ELF格式。 我们可以用readelf命令来读取二进制的信息。 ELF文件的主要内容就是由各个section及symbol表组成的。 下面来分别介绍这些字段的含义: .text:已编译程序的机器代码,为代码段, 用于保存可执行指令 。 .rodat ...
分类:
其他好文 时间:
2017-10-14 22:37:38
阅读次数:
253
</form> </form> </form> </form> linux下的静态库创建与查看,及如何查看某个可执行依赖于哪些动态库 创建静态库:ar -rcs test.a *.o查看静态库:ar -tv test.a解压静态库:ar -x test.a 查看程序依赖的动态库:readelf -a ...
分类:
系统相关 时间:
2017-07-31 00:54:50
阅读次数:
283
sample变量段分析 1.各段地址区间Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .interp PROGBITS 000 ...
分类:
其他好文 时间:
2017-07-08 14:39:27
阅读次数:
131
http://blog.csdn.net/edonlii/article/details/8779075 1. 读取ELF文件头: $ readelf -h signELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 ...
分类:
其他好文 时间:
2017-05-24 18:30:53
阅读次数:
3458
arm-linux-ld 可以将程序链接成我们arm平台下的可运行的程序 以之前使用过的led程序为例: 首先: 产生led.o文件 产生.elf格式的文件 然后通过: arm-linux-readelf命令:读出.elf的详细内容: 摘网上一幅图显示.elf格式的内容: (该图片使用的是Linux ...
分类:
其他好文 时间:
2017-04-08 18:43:29
阅读次数:
220
进程线程通信(本机,网络)进程的属性和概念:进程和程序之间的区别是什么:1进程是动态的2程序是静态的readelf-a名字读取该程序的所有内容filea.out查看该文件的信息mmu内存管理单元是在内核里面MMU管理内存大小一个文件,先映射到4个G虚拟内存里面,最后存到真实内存里面。..
分类:
系统相关 时间:
2017-03-31 22:11:39
阅读次数:
150
一、GUN处理目标文件的工具 首先对一个c文件进行编译生成.o目标文件 然后可以通过nm 和readelf来查看目标文件的符号表 nm > 其中 B 全局非初始化数据段(BBS段)的符号,其值表示该符号在bss段中的偏移,如g1 b 全局static的符号,如g3 r const型只读的变量(rea ...
分类:
其他好文 时间:
2017-03-21 12:57:42
阅读次数:
252