看,宝藏就在那儿在上一篇文章中,我们提到用按图索骥比喻库的初始化过程,那么现在有了地图,接下来的事情就是去寻找我们感兴趣的宝藏了。这个宝藏可能是一个ELF文件的程序文本段,也有可能是程序的某个不知名的代码段,这些都取决于你想要什么信息。我建议你去阅读ELF 的官方标准,那里边讲的比较清楚。我这里只是...
分类:
其他好文 时间:
2014-08-17 10:24:52
阅读次数:
606
寻宝要先设计路线图对一个ELF文件来说,它里边装个一个程序的所有信息。我们想要拿的程序信息就在这个ELF文件的某个地址处。可是我们根本就不知道这个具体的地址是哪个,怎么办?举个较形象的例子来描述我们将要的做的事情。峨眉山的山道上放着一大箱金子,我们想搞到这箱黄金。所以在动手之前,我们应该先搞清楚这箱...
分类:
其他好文 时间:
2014-08-10 18:15:30
阅读次数:
334
抽象?抽谁的象? ELF是一种链接执行格式,它规定了对于一个ELF文件的基本数据类型是什么样的.可是,要解析一个ELF文件,而这个ELF文件或者是32Bits 或者是 64Bits,反正字长是未定的,怎么办?难道我们要定义两套解析的接口,以对应不同的字长的ELF文件吗?如果要这样做,不是不可以,只是...
分类:
其他好文 时间:
2014-08-02 20:53:24
阅读次数:
253
引子:在linux上写了三年多的c了,平时遇到一些编译和链接的问题仍然很是头痛,感觉很无力,好基友推荐《程序员的自我修养》,趁着周末,速速围观。先记录下作者在书中抛出来的问题1.为啥程序是从main函数开始执行?2.PE/ELF文件存的是啥?3.如何写一个直接跑在未安装os裸机上的程序?4.目标文件...
分类:
其他好文 时间:
2014-07-14 09:00:14
阅读次数:
228
文件格式:windows:PElinux:ELF文件系统:rootfsFHS:规定linux应该创建哪些目录/下的目录结构:/boot:系统启动相关的文件,如内核,initrd,以及grub(bootloader)/dev:设备文件(例如:光盘,cdrom)类型:块设备:随机访问,数据块字符设备:线性访问,以字节为单位设备..
分类:
系统相关 时间:
2014-07-05 23:04:39
阅读次数:
370
这里所说的ARM系统基本文件格式,都是在基于ARM的嵌入式系统开发中常会碰到的文件格式。 ARM系统基本文件格式有三种:1) BIN,平板式二进制格式,一般用于直接烧写到Flash中,也可以用于加载到monitor程序中。2) ELF,EXECUTABLE AND LINKABLE FORMAT,一...
分类:
其他好文 时间:
2014-06-29 20:00:16
阅读次数:
235
本文解决如何在Android下使用gdb来调试无符号的ELF文件,尤其是内存buju...
分类:
移动开发 时间:
2014-06-22 19:12:48
阅读次数:
381
参考文献:《ELF V1.2》《程序员的自我修养---链接、装载与库》第6章
可执行文件的装载与进程 第7章 动态链接《Linux GOT与PLT》开发平台:[root@tanghuimin dynamic_link]# uname -a
Linux tanghuimin 2.6.32-358.el...
分类:
其他好文 时间:
2014-06-08 21:36:40
阅读次数:
330
参考文献:《ELF V1.2》《程序员的自我修养---链接、装载与库》第4章
静态链接开发平台:[thm@tanghuimin static_link]$ uname -a Linux tanghuimin
2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:...
分类:
其他好文 时间:
2014-06-08 21:35:56
阅读次数:
450
1.ELF文件格式概貌readelf -h
查看elf文件头部信息可以看到Type值有三种:REL,EXEC,DYN。REL文件是只被编译没有被链接过的文件,其格式属于左边一种,elf
header+section1,2,3...+section header table,每个section对应.....
分类:
其他好文 时间:
2014-06-08 20:34:25
阅读次数:
263