本实验的目的在于加深对IA-32/x86-64过程调用规则和栈结构的具体理解。实验的主要内容是对一组可执行目标程序phase1-5实施一系列不同复杂度的缓冲区溢出攻击(buffer overflow attacks),也就是设法通过造成缓冲区溢出来改变程序的运行数据状态(例如使用专门设计的数据替换程序栈中特定位置上的内容)和行为,实现实验预定的目标。 实验包含以下若干个阶段:
实验环境:Linux IA-32/x86-64,实验语言:汇编/C
学生实验数据样例 (针对x86-64) (针对IA-32)
供教师开展本实验所需的实验文件可e-mail联系suf@nju.edu.cn获得(请提供教师在任教单位网站上的个人主页链接)。相关文件仅供教师使用,请勿公开给学生或发布于网上等其他场所。