ChinaUnix.net
相关文章推荐:

elf文件

本帖最后由 kernel359 于 2013-12-25 21:23 编辑 以下主要是参照《深入理解计算机系统》的理解。 以下是在centos 6.3 x86_64上测试的 主要用到的命令有 readelf、objdump,它们是GNU提供的,我这系统自带的有,所以没安装 一个可执行目标文件,从原代码,要经历预处理器、编译器、汇编器和加载器,才会加载到内存中执行。而目标文件,分为可重定位文件和可执行文件,目标中分成不同的节。 ...

by kernel359 - CPU与编译器 - 2015-01-06 22:53:46 阅读(5618) 回复(11)

相关讨论

elf文件头(elf header ),顾名思义,就是指一个elf文件字节流的最开头的一部分。 它是多大呢?请看下面的小程序: /*打印elf32_Ehdr和elf64_Ehdr结构的大小*/ #include #include int main() { printf("elf32_Ehdr:%d\n",sizeof(elf32_Ehdr)); printf("elf64_Ehdr:%d\n",sizeof(elf64_Ehdr)); return 0; } 编译命令: $ gcc -o test test.c $ ./test elf32_Ehdr:52 elf64_Ehdr:64 $ 程序中包含了elf....

by leafteg - Linux文档专区 - 2009-09-30 02:15:59 阅读(1113) 回复(0)

在介绍什么是“elf文件”前先做个小实验。 我这里有这么个文件-hello.c,内容如下: /*filename:hello.c*/ #include int main() { printf("hello,world!\n"); return 0; } 好了我执行下面的一些命令: $ gcc -c -o hello.o hello.c $ gcc -o hello hello.o $ ls hello hello.c hello.o 我的目的很简单,就是想让你接触一下“elf文件”。 用vim分别打开hello.o和hello,你会发现,这两个文件的第2,3,4个字节都分别是...

by leafteg - Linux文档专区 - 2009-09-30 01:54:42 阅读(1020) 回复(0)

问题概述: 2M的elf文件,读到内存后,发现elf后面的数据与objdump出来的数据不一致。 详细描述: 1)编译内核镜像的时候生成了一个vmlinux ,大约2M 2)然后通过open文件的方式,根据文件的大小,分配动态缓存,再将文件读到缓存。 3)然而,我发现,在读取该vmlinux的数据到缓冲后,缓冲的前一段数据,和用objdump -d vmlinux得到的数据是一致的, 但是,在缓冲的比较后面的数据,与objdump -d vmlinux得到的数据不一致...

by wilos - 内核源码 - 2009-08-14 16:46:25 阅读(1866) 回复(2)

elf文件格式-- 另一文本方式的elf文档 http://elfhack.whitecell.org/mydocs/elf_chinese.txt write by breadbox Email:breadbox@muppetlabs.com 译:alert7 from m4in security team http://www.patching.net isearthling 19:45 2001-5-16 译者注: 由于翻译者水平有限(包括技术水平和翻译水平:(),所以 有些地方或许比较难懂,可能还有理解错误的地方,如果有 任何的问题,...

by hndeng06 - Linux文档专区 - 2008-10-09 20:36:02 阅读(866) 回复(0)

elf文件格式-- 另一文本方式的elf文档 write by breadbox Email:breadbox@muppetlabs.com 译:alert7 from m4in security team http://www.patching.net isearthling 19:45 2001-5-16 译者注: 由于翻译者水平有限(包括技术水平和翻译水平:(),所以 有些地方或许比较难懂,可能还有理解错误的地方,如果有 任何的问题,欢迎email:alert7@21cn.com 我们会虚心接受的,会在以后的修订中更正过来。 (总不能误导后来的...

by zxg623 - Linux文档专区 - 2008-04-13 00:34:31 阅读(532) 回复(0)

本文叙述如何解读elf文件。 打开一个elf文件解读时,我们首先遇到的是一个elf文件头。elf文件头给出解读整个elf文件的路径图,它是一个固定的结构。文件头的结构在系统头文件elf.h中定义,如果是32位的二进制文件,它是一个elf32_Ehdr结构,如果是64位的二进制文件,则是一个elf64_Ehdr结构。无论是何种结构,结构的第一个成员是一个16字节的e_ident,它给出了整个elf文件的解读方式。究竟是32位的elf32_Ehdr结构还是64位的elf...

by Echo CHEN - Linux文档专区 - 2007-04-09 10:34:12 阅读(651) 回复(0)

阅读了ltrace的代码,才发现了关于elf的开发包,这对于我们将来分析程序很有帮助。 学习该开发包时,我推荐的学习方法: readelf -a 了解elf文件的格式,可以参考 http://blog.chinaunix.net/u/30686/showart_250105.html 另外下面列出一篇文章,大家可以参考,接下来我将分析ltrace的代码,来学习关于elf的开发包用法。 Libelf and Gelf - A Library to Manipulate elf Files By Neelakanth Nadgir, August 2001 ...

by loughsky - Linux文档专区 - 2007-03-28 11:37:36 阅读(940) 回复(0)

我想查看一个elf可执行文件的各个segment和section的详细信息,该用啥命令呢,谢谢:mrgreen:

by gta - Linux系统管理 - 2007-02-10 12:16:30 阅读(1170) 回复(1)

请见附件

by wuhui_zsu - 内核/嵌入技术 - 2005-12-30 10:41:59 阅读(1216) 回复(2)

我看到一本书上说elf header位与elf文件的开头,但是program header里的offset值为0,也就是说该段的第一个字节在elf文件中的偏移为0,那么elf header与程序段不是互相覆盖了吗?请问是什么原因?谢谢

by stuman - 内核源码 - 2014-05-24 23:03:12 阅读(960) 回复(2)