1. elf案例解析

    • 源代码

      int main() {asm("movl $42, %ebx \n\t""movl $1 , %eax \n\t""int $0x80      \n\t");
      }
      
    • 链接代码

      MEMORY {CODE (R!X) :  ORIGIN = 0x200300 , LENGTH = 16M
      }
      SECTIONS
      {.text 0x200400 : { *(.text) } > CODE"/DISCARD/" : { *(*) }
      }
      
    • makefile

      .PHONY:all cleanENTRY=-e mainall:gcc -fno-builtin -c test.c -o test.o -gld -T link.lds test.o -g -o ad.out $(ENTRY)clean:rm -f test.o *.out
      
    • hexdump -C ad.out

      00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
      00000010  02 00 3e 00 01 00 00 00  00 04 20 00 00 00 00 00  |..>....... .....|
      00000020  40 00 00 00 00 00 00 00  38 04 00 00 00 00 00 00  |@.......8.......|
      00000030  00 00 00 00 40 00 38 00  02 00 40 00 05 00 02 00  |....@.8...@.....|
      00000040  01 00 00 00 05 00 00 00  00 00 00 00 00 00 00 00  |................|
      00000050  00 00 20 00 00 00 00 00  00 00 20 00 00 00 00 00  |.. ....... .....|
      00000060  17 04 00 00 00 00 00 00  17 04 00 00 00 00 00 00  |................|
      00000070  00 00 20 00 00 00 00 00  51 e5 74 64 06 00 00 00  |.. .....Q.td....|
      00000080  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      *
      000000a0  00 00 00 00 00 00 00 00  10 00 00 00 00 00 00 00  |................|
      000000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      *
      00000400  55 48 89 e5 bb 2a 00 00  00 b8 01 00 00 00 cd 80  |UH...*..........|
      00000410  b8 00 00 00 00 5d c3 00  2e 73 79 6d 74 61 62 00  |.....]...symtab.|
      00000420  2e 73 74 72 74 61 62 00  2e 73 68 73 74 72 74 61  |.strtab..shstrta|
      00000430  62 00 2e 74 65 78 74 00  00 00 00 00 00 00 00 00  |b..text.........|
      00000440  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      *
      00000470  00 00 00 00 00 00 00 00  1b 00 00 00 01 00 00 00  |................|
      00000480  06 00 00 00 00 00 00 00  00 04 20 00 00 00 00 00  |.......... .....|
      00000490  00 04 00 00 00 00 00 00  17 00 00 00 00 00 00 00  |................|
      000004a0  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
      000004b0  00 00 00 00 00 00 00 00  11 00 00 00 03 00 00 00  |................|
      000004c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      000004d0  17 04 00 00 00 00 00 00  21 00 00 00 00 00 00 00  |........!.......|
      000004e0  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
      000004f0  00 00 00 00 00 00 00 00  01 00 00 00 02 00 00 00  |................|
      00000500  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      00000510  78 05 00 00 00 00 00 00  78 00 00 00 00 00 00 00  |x.......x.......|
      00000520  04 00 00 00 04 00 00 00  08 00 00 00 00 00 00 00  |................|
      00000530  18 00 00 00 00 00 00 00  09 00 00 00 03 00 00 00  |................|
      00000540  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      00000550  f0 05 00 00 00 00 00 00  0d 00 00 00 00 00 00 00  |................|
      00000560  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  |................|
      00000570  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      *
      00000590  00 00 00 00 03 00 01 00  00 04 20 00 00 00 00 00  |.......... .....|
      000005a0  00 00 00 00 00 00 00 00  01 00 00 00 04 00 f1 ff  |................|
      000005b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
      000005c0  00 00 00 00 04 00 f1 ff  00 00 00 00 00 00 00 00  |................|
      000005d0  00 00 00 00 00 00 00 00  08 00 00 00 12 00 01 00  |................|
      000005e0  00 04 20 00 00 00 00 00  17 00 00 00 00 00 00 00  |.. .............|
      000005f0  00 74 65 73 74 2e 63 00  6d 61 69 6e 00           |.test.c.main.|
      000005fd
      
  2. 分析

elf 文件格式解析相关推荐

  1. cfile清空文件内容_编译-链接-加载 :ELF文件格式解析

    摘要:对于C++的初学者,经常在程序的编译或者加载过程中遇到很多错误,类似undefined reference to ... 和 GLIBCXX_3.4.20 not found 等.这些错误都涉及 ...

  2. elf section类型_ELF文件格式解析

    ELF文件格式解析 ELF(Executable and Linking Format) 1) 可重定位的对象文件(Relocatable file) 2) 可执行的对象文件(Executable f ...

  3. gcc 删除elf_ELF文件格式解析器 原理 + 代码

    本文为看雪论坛精华文章 看雪论坛作者ID:菜鸟m号 附件链接:[原创] ELF文件格式解析器 原理 + 代码 写在前面: 读<Linux二进制>,发现作者对 ELF文件格式部分并没有做详细 ...

  4. elf文件格式实例解析

    试验环境:archlinux 速龙3000+(即x86兼容32位处理器) 必须软件:gcc binutils 参考资料: System V application binary interface E ...

  5. elf文件格式_Android so(ELF) 文件解析

    Android so(ELF) 文件解析 Android so(ELF) 文件解析 前言 生成 so 文件 相关工具 objdump readelf 整体结构图 头部结构 段表结构 字符串表结构 程序 ...

  6. Elf动态解析符号过程(转载) - *nix文件格式 - j4ckl1u

    导读: 本篇文章以linux为平台为例,演示ELF动态解析符号的过程. 不正之处,还请斧正. 通常,ELF解析符号方式称为lazy MODE装载的.这种装载技术是ELF平台上 默认的方式.在不同的体系 ...

  7. ELF文件格式与进程地址空间的联系

    http://blog.csdn.net/q_l_s/article/details/52597330 三.分析在fork产生新进程中ELF文件格式与进程地址空间的联系 1.进程的虚拟地址空间 每个程 ...

  8. 【Android 逆向】ELF 文件格式 ( 程序头数据 | 节区头数据 | 动态符号表 )

    文章目录 一.程序头数据 二.节区头数据 三.动态符号表 一.程序头数据 在上一篇博客 [Android 逆向]ELF 文件格式 ( ELF 程序头入口大小 | ELF 程序头入口个数 | ELF 文 ...

  9. 【Android 逆向】ELF 文件格式 ( ELF 文件头 | ELF 文件头标志 | ELF 文件位数 | ELF 文件大小端格式 )

    文章目录 一.ELF 文件简介 二.ELF 文件头 三.ELF 文件头标志 四.ELF 文件位数 五.ELF 文件大小端格式 一.ELF 文件简介 在上一篇博客 [Android 逆向]ELF 文件格 ...

最新文章

  1. jxl导入Excel文件抛出java.lang.StringIndexOutOfBoundsException异常
  2. IT运维管理员如何写好一份年终总结?
  3. 通过组策略禁止用户安装任何软件
  4. void函数调用时显示不允许使用不完整的_4位数码管显示模块驱动
  5. 一个撕心裂肺的爱情故事
  6. shell中lsort,uniq,cut,wc,seq命令使用
  7. 不需要Excel的可视化大屏,究竟可以多炫酷?附20份模板
  8. 将JS对象转换为JSON字符串
  9. 加速BERT:从架构优化、模型压缩到模型蒸馏最新进展详解
  10. el表达式字符串与变量拼接
  11. [BZOJ1085][SCOI2005]骑士精神
  12. exoplay切换全屏_ExoPlayer播放视频的简单使用及播放视频宽高设置的源码分析
  13. UCGUI使用的24位颜色RGB数值对照表
  14. json 日期格式化
  15. 完美解决IDEA 中Maven插件报红详细攻略(含阿里云镜像下载失败),差点泪崩...冲冲冲
  16. kali 插耳机没声音
  17. 【项目管理/PMP/PMBOK第六版/新考纲】纯干货!Sprint冲刺/冲刺计划会/每日站立会/冲刺评审会/冲刺回顾会,系列文章建议收藏
  18. Go语言自学系列 | golang中的if语句
  19. 想做程序员?弄明白这些问题,你会少走很多弯路
  20. MySQL数据库13——插入数据(INSERT)

热门文章

  1. Python中测试代码的介绍
  2. PyCharm基本设置 - 【图文】
  3. 捷图书排行Top 20
  4. 上海开源大数据研究院落地张江
  5. react安装 淘宝镜像安装
  6. 接口测试的原理,什么是接口测试?为什么要做接口测试?如何开展接口测试?
  7. 【叨叨和总结】2023年1月半月总结
  8. 如何选择数据库?Google Cloud 数据库类型详解
  9. automake介绍
  10. oracle order by 指定顺序---decode函数