littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C语言的计算机系统实验项目

项目简介

本项目是南京大学计算机系统导论课程的实验作业集合,涵盖数据表示与操作、二进制炸弹拆除、缓冲区溢出攻击以及ELF文件格式与链接过程等实验内容。能帮助学习者深入理解计算机中整数和浮点数的二进制编码表示、程序的机器级表示、汇编语言、调试器、逆向工程、函数调用规则、栈结构等知识。

项目的主要特性和功能

  1. 数据表示与操作实验:通过完成编程“难题”,用有限运算操作实现给定功能函数,掌握整数和浮点数二进制编码表示及操作。
  2. 二进制炸弹实验:运用所学知识拆除含7个阶段和1个隐藏阶段的二进制炸弹,强化对程序机器级表示、汇编语言、调试器和逆向工程知识的理解。
  3. 缓冲区溢出攻击实验:对“bufbomb”可执行程序实施5个难度递增的缓冲区溢出攻击,加深对IA - 32函数调用规则和栈结构的理解。
  4. ELF与链接实验:逐步修改“linkbomb”程序,完成对二进制可重定位目标文件(.o文件)内容的特定修改,包括数据、机器指令、重定位记录等,加深对ELF文件格式和程序链接过程的理解。

安装使用步骤

运行环境要求

  • 操作系统:Linux (Debian 9 I386 Architecture)
  • 编程语言:C
  • 必要软件
  • GCC(适用于所有实验)
  • CMake(适用于实验1)
  • Hexedit(或其他可修改二进制文件的软件)
  • GDB(用于测试和调试)

使用步骤

  1. 确保已下载本项目的源码文件。
  2. 打开终端,进入相应实验目录,如实验1进入ICS2018_fall-icslab/lab1,实验2进入ICS2018_fall-icslab/lab2 等。
  3. 根据各实验具体要求,使用相应工具和命令进行编译、运行和调试。例如,使用GCC编译的实验,可用gcc -o output_file source_file.c命令编译。
  4. 按实验说明完成相应任务和操作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】