计算机系统基础、LinkLab实验每个实验阶段(共5个)考察ELF文件组成与程序链接过程的不同方面知识 阶段1:全局变量ó数据节 阶段2:强符号与弱符号ó数据节 阶段3:代码节修改 阶段4:代码与重定

LinkLab实验

1.实验目的与要求

(1). 了解链接的基本概念和链接过程所要完成的任务。
(2). 理解ELF目标代码和目标代码文件的基本概念和基本构成
(3). 了解ELF可重定位目标文件和可执行目标文件的差别。
(4). 理解符号表中包含的全局符号、外部符号和本地符号的定义。
(5). 理解符号解析的目的和功能以及进行符号解析的过程。

2.实验原理与内容

每个实验阶段(共5个)考察ELF文件组成与程序链接过程的不同方面知识
阶段1:全局变量ó数据节
阶段2:强符号与弱符号ó数据节
阶段3:代码节修改
阶段4:代码与重定位位置
阶段5:代码与重定位类型

3.实验过程与结果

实验阶段1:

(1)首先我要以下代码,然而会出现一堆乱码

在这里插入图片描述

(2)输入readelf -a phase1.o 查看elf文件内容,找到输出的.data 节中偏移量为32的位置。如下图:
在这里插入图片描述

我的是0×60+0=0×60处
在这里插入图片描述

(3)用hexedit phase1.o命令来修改phase1.o,并对phase1.o数据节中相应字节进行修改
在这里插入图片描述

(4)删除前一个linkbomb,生成新的linkbomb,最后重新输出得到我们要的结果:
在这里插入图片描述

实验阶段2

(1)输入readelf -a phase1.o 查看elf文件内容
在这里插入图片描述

(2)可以发现COM未被赋初始值,需要打补丁phase2_patch.o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AL.千灯学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值