ELF文件格式简单分析

(具体分析见上一篇ELF文件格式32位系统)

ELF-header

第一行:
457f 464c :魔数;
0201 :64位系统,小端法
01 :文件头版本
剩余默认0; 第二行:
0001 :重定位文件
003e :x86-64处理器体系结构
0000 0001 :当前版本
0000 0000 0000 0000 :没有入口点 第三行:
0000 0000 0000 0000 :没有程序头表
0000 0000 0000 0308 :段表偏移地址 第四行:
0000 0000 :处理器特定标志
0040 :elf文件头大小
0000 :重定位文件没有程序头表
0000 :重定位文件没有程序头表
0040 :段头大小64字节,section header table中每个header的大小
000d :段表入口有13个,段表有13段
000a :段表字符串在段表中的索引号,.shstrab段的段表索引号10

Elf文件头的数据结构存储在位偏移0x0000 0000 0000 0000~~~0x0000 0000 0000 0039,共40h字节,即64字节;

段表存储在0x0000 0000 0000 0308~~~0x0000 0000 0000 0648,共40h*13=340h字节



查看符号表的数据结构

12个符号

Section

.text位偏移+段长度=.data的段偏移   0x003c+0x0040=0x007c
0x0061+0x02a0=0x0301;
0x0308+0x0340=0x648;
.shstrtab section与.symtab section之间存储的是段表;
注意:Address是section在内存中的虚拟地址,.o文件不需要执行,这里都是0;
Off是section与文件头之间的偏移;
Size是文件里面section占用的大小;
.text section是可执行指令的集合
位偏移0x0000 0040,size=0x0000 003c(即60字节)

.data section是初始化后数据的集合
位偏移0x0000 007c,size=0
.symtab section存放所有section中定义的符号名字
.strtab section位偏移0x0000 0208,size=0x0000 001b

20135337——Linux实践三:ELF文件格式(64位系统,简单分析)的更多相关文章

  1. 【转】将 Linux 应用程序移植到 64 位系统上

    原文网址:http://www.ibm.com/developerworks/cn/linux/l-port64.html 随着 64 位体系结构的普及,针对 64 位系统准备好您的 Linux® 软 ...

  2. 20135337——linux实践三:ELF文件格式分析(32位系统)

    ELF文件格式分析 可重定位文件 十六进制形式显示内容 显示各个段.符号表相关信息 查看各个段信息 elf文件头信息 段表 符号表信息 查看堆栈 具体分析 1.ELF文件头信息(小字节优先,均十六进制 ...

  3. Linux实践:ELF文件格式分析

    标签(空格分隔): 20135321余佳源 一.基础知识 ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文件(目 ...

  4. 20135337——Linux实践三:程序破解

    程序破解 查看 运行 反汇编,查看汇编码 对反汇编代码进行分析: 在main函数的汇编代码中可以看出程序在调用"scanf"函数请求输入之后,对 [esp+0x1c] 和 [esp ...

  5. linux第三次实践:ELF文件格式分析

    linux第三次实践:ELF文件格式分析 标签(空格分隔): 20135328陈都 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文 ...

  6. Linux及安全实践四——ELF文件格式分析

    Linux及安全实践四——ELF文件格式分析 一.ELF文件格式概述 1. ELF:是一种对象文件的格式,用于定义不同类型的对象文件中都放了什么东西.以及都以什么样的格式去放这些东西. 二.分析一个E ...

  7. linux实践之ELF文件分析

    linux实践之ELF文件分析 下面开始elf文件的分析. 我们首先编写一个简单的C代码. 编译链接生成可执行文件. 首先,查看scn15elf.o文件的详细信息. 以16进制形式查看scn15elf ...

  8. 手把手VirtualBox虚拟机下安装rhel6.4 linux 64位系统详细文档

    下面演示安装的是在VirtualBox里安装rhel 6.4 linux 64位系统. 一.VirtualBOX 版本. 二.虚拟机的配置. 1.现在开始演示安装,一起从零开始.点击“新建”,创建新的 ...

  9. linux 下 查看是32位还是64位系统 命令

    文章引自:http://zhidao.baidu.com/question/583981849.html 方法1:getconf LONG_BIT 查看 如下例子所示: 32位Linux系统显示32, ...

随机推荐

  1. webpack热更新和常见错误处理

    时间:2016-11-03 10:50:54 地址:https://github.com/zhongxia245/blog/issues/45 webpack热更新 一.要求 局部刷新修改的地方 二. ...

  2. java 代码说明制作讲解

    命令格式及介绍 javadoc -d 文档存放目录 -author -version 源文件名.java 这条命令编译一个名为"源文件名.java"的 java 源文件,并将生成的 ...

  3. vue_模板渲染

    渲染 当获取到后端数据后,我们会把它按照一定的规则加载到写好的模板中,输出成在浏览器中显示的HTML,这个过程就称之为渲染. vue.js是在前端(即浏览器内)进行的模板渲染. 前后端渲染对比 前端渲 ...

  4. BSOJ 2414 -- 【JSOI2011】分特产

    Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...

  5. WPF防止重复运行实例

    1.方法一 在app.xaml.cs下添加如下代码: /// <summary> /// App.xaml 的交互逻辑 /// </summary> public partia ...

  6. 转://Oracle 11gR2 RAC ASM磁盘全部丢失后的恢复

    一.环境描述 (1)Oracle 11.2.0.3 RAC ON Oracle Linux 6 x86_64,只有一个ASM外部冗余磁盘组--DATA: (2)OCR,VOTEDISK,DATAFIL ...

  7. EXCEL这样根据某单元格的内容来改变整行颜色

    1.选择你需要改变颜色的单元格列数,然后打开“格式”--“条件格式”: 2.选择“公式”一项,在后面输入=$L1=2050,然后点开下面的“格式”按钮设置好格式. 3.基本上就OK了,注意在输入公式的 ...

  8. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(四)数据库安装(单节点)

    一.卸载CentOS自带的MySQL 1.1 查看之前是否安装过mysql [root@master mysql]# rpm -qa|grep -i mysql mysql-libs--.el6.x8 ...

  9. AI 奇异值分解(SVD)

    奇异值分解(Singular Value Decomposition,简称SVD),将矩阵分解为奇异向量(singular vector)和奇异值(singular value). 每个实数矩阵都有一 ...

  10. 动手动脑(lesson 8)

    一. 上面程序在不注释第一个i/j会出错,这是因为程序会顺序运行,在运行到try之前就已经出错,因此不会跳到异常处理. 异常处理基础知识: 二. 三. 运行结果: 运行结果: 四. 运行结果: 总结: ...