HNU-2024计算机系统-小班讨论7

写在前面:
本次小班课的选题主要围绕CSAPP教材中的链接章节,通过实践使用readelf等工具可以加深对ELF文件内容的理解,对链接部分的理解有一定的帮助。

本文所有题目由全组同学共同完成,感谢每一位同学的支持与付出。

一、选题

选题一

深度理解可重定位目标文件和可执行目标文件。
用 C 语言实现:
引导用户自行输入设定: 一个长度有最短和最长限制的任意字符
串作为密码,要求其中必须含有大小写字母、数字和{@,#,$,-,%,
[ , ],&}之一,如果用户设定符合要求,请引导用户输入生成;如果
用户在三次设定尝试之后,依然不能产生前述符合保密需要的密码,
则自动帮助用户形成一个符合设定要求的密码,并询问用户是否采用。
要求:
(1) 实现上述功能的 C 代码,要求使用 extern,static 变量和
函数,使用 C 标准库;
(2) 将不同功能写在不同.C 文件,感受分离编译的优势,演示
在 gcc 环境下的 debug 过程;
(3) 使用 gcc 的不同参数,观察其相应的.i 文件,.s 文件和.o 文
件的内容;
(4) 应用 readelf 或 objdump 或 nm 等指令查看相关内容,并结
合第 2 版教材 P451 图 7-3,详细分析你的代码形成的目标文件
的 ELF 各部分都有什么内容;
(5) 你发现了有什么课堂上没涉及的内容出现你的ELF 文件中
吗?请尝试解读是什么;
(6) 请比较分析链接前的.o 文件和链接后的可执行文件,结合
ELF 格式,比较分析这两者内容的变化;
(7) 尝试分析可执行文件的进程映射虚存空间的内容。
(Tips:这道题难度基本集中在耐心解读你所看到的 ELF 内容和书本理论如何对
应起来,以及资料收集、分析与自证。 )

二、分析与解答

1.第一问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.第二问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.第三问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.第四问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.第五问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.第六问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.第七问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值