Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104963
  • 博文数量: 11
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 172
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-17 09:26
文章分类
文章存档

2009年(11)

我的朋友

分类: LINUX

2009-05-14 13:16:30

分析完hello.o后现在来分析一下main.o。
由于ELF头分析过这里简单所以我关注的重点是Section Headers。
 
下图是.rel.text。
 
需要重定位的有sqr,printf,num
 
上图中Ndx一列中,显示为未定义就是要重定位的符号。

可执行文件物理结构

我们把hello.o和main.o连接好后看看连接器都干了些什么事。

我们可以清楚的看到,文件类型已经变成了可执行。
Entry point address变成了0x839c。这是_start符号的地址。
在Section Header Table中,.text.data的加载地址分别改成了0x839c和0x10604。.bss为0x10724.rel.text段就是用于链接过程的,链接完了就没用了,所以也删掉了。
 
 
 
阅读(1565) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~