项目简介
本项目是南京大学计算机系统导论课程的实验作业集合,涵盖数据表示与操作、二进制炸弹拆除、缓冲区溢出攻击以及ELF文件格式与链接过程等实验内容。能帮助学习者深入理解计算机中整数和浮点数的二进制编码表示、程序的机器级表示、汇编语言、调试器、逆向工程、函数调用规则、栈结构等知识。
项目的主要特性和功能
- 数据表示与操作实验:通过完成编程“难题”,用有限运算操作实现给定功能函数,掌握整数和浮点数二进制编码表示及操作。
- 二进制炸弹实验:运用所学知识拆除含7个阶段和1个隐藏阶段的二进制炸弹,强化对程序机器级表示、汇编语言、调试器和逆向工程知识的理解。
- 缓冲区溢出攻击实验:对“bufbomb”可执行程序实施5个难度递增的缓冲区溢出攻击,加深对IA - 32函数调用规则和栈结构的理解。
- ELF与链接实验:逐步修改“linkbomb”程序,完成对二进制可重定位目标文件(.o文件)内容的特定修改,包括数据、机器指令、重定位记录等,加深对ELF文件格式和程序链接过程的理解。
安装使用步骤
运行环境要求
- 操作系统:Linux (Debian 9 I386 Architecture)
- 编程语言:C
- 必要软件:
- GCC(适用于所有实验)
- CMake(适用于实验1)
- Hexedit(或其他可修改二进制文件的软件)
- GDB(用于测试和调试)
使用步骤
- 确保已下载本项目的源码文件。
- 打开终端,进入相应实验目录,如实验1进入
ICS2018_fall-icslab/lab1
,实验2进入ICS2018_fall-icslab/lab2
等。 - 根据各实验具体要求,使用相应工具和命令进行编译、运行和调试。例如,使用GCC编译的实验,可用
gcc -o output_file source_file.c
命令编译。 - 按实验说明完成相应任务和操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】