文章标题
来源:互联网 发布:多臂老虎机推荐算法 编辑:程序博客网 时间:2024/06/08 17:23
ELF文件分析(1)
根据三星2440-led_on_c_elf#
1. ELF总体结构
2.ELF Header
重点说几个,其他查找相关资料
①这个是通过readelf 在linux下面打开的,通过读readelf原程序代码能更好的理解到Version: 0x01的内容
②Entry point address: 0x0 入口地址,规定ELF程序的入口虚拟地址,操作系统在加载完该程序后从这个地址开始执行进程的命令。
③Start of program headers: 52 (bytes into file)
Start of section headers: 33524 (bytes into file)
这两个是从文件头即(此程序0x00)开始的偏移量,例如#33524为0x82f4,可根据结构表中看到section header的开始地址,然后Size of section headers: 40 (bytes) 乘以 Number of section headers: 14 等于=#560(0x280)即为section header的整个大小为0x280
④Section header string table index: 11这个是段字符串表(.shstrtab)所在的段 在 段表(section header)中的 下表。
3.section Header(段表)
①段表的地址的确定,和地址的大小,段的个数,在elf header头文件中都能确定。
②这里有13个段,一共是560bytes,简单的说:.text保存命令,.data保存数据,.bss大小为0(没有给bss在内存中开地址空间)。
③off的值用来确定0x00+偏移量(off值)=开始地址
④Al(sh_addralign)当为0/1时没有对齐要求
如果一个32位的数据没有存放在4字节整除的内存地址处,那么处理器就需要2个总线周期对其进行访问,显然访问效率下降很多。比如4字节数据的起始地址应位于4字节边界上,即起始地址能够被4整除。
http://www.cnblogs.com/clover-toeic/p/3853132.html
⑤关于bss的问题
⑥.shstrtab段名表,标号为11对应的 elf头表中的最后一行
⑦通过xxd查看.strtab内容
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- Android 比对国际化资源文件中的翻译缺失
- 424. Longest Repeating Character Replacement
- 2802: [Poi2012]Warehouse Store
- JavaScript 冒泡排序
- Python轻松入门-24 解包列表
- 文章标题
- 谈谈IT行业的一些生存之道!
- HTTP协议简析
- Microtasks队列
- 给自己留下伏笔--免费软件生存之道
- 【前端技巧】如何在网页标题上添加图片
- python 函数库/小方法
- 2783: [JLOI2012]树
- 一.数据库分类、设计、优化