计算机系统基础
文章平均质量分 92
-meteor-
这个作者很懒,什么都没留下…
展开
-
CSAPP LAB buflab-handout实验报告
加深对IA-32函数调用规则和栈帧结构的理解对目标程序实施缓冲区溢出攻击(buffer overflow attacks)通过造成缓冲区溢出来破坏目标程序的栈帧结构继而执行一些原来程序中没有的行为要求通过栈溢出攻击,使之跳到smoke函数。文档给已经出了getbuf()、test()、smoke()的高级语言代码老规矩,先从 804934b 行指令可以看到 buf 缓冲区的大小为 50 个字节smoke 函数的地址为 0x08048ba1攻击字符串用来覆盖数组 buf,进而溢出并覆盖 ebp 和 ebp原创 2022-06-04 16:51:39 · 867 阅读 · 0 评论 -
CSAPP LAB Binary bombs实验报告
逆向工程拆除“二进制炸弹”程序增强对程序机器级表示、汇编语言、调试器和逆向工程等 理解。一个“Binary Bombs”(二进制炸弹,简称炸弹)是一个 Linux可执行C程序,包含phase1~phase6共6个阶段。炸弹运行各阶段要求输入一个字符串,若输入符合程序预 期,该阶段炸弹被“拆除”,否则“爆炸”。你需要拆除尽可能多的炸弹拆弹装备:熟练使用gdb调试器和objdump;单步跟踪调试每一阶段的机器代码;理解汇编语言代码的行为或作用;“推断”拆除炸弹所需的目标字符串。在各阶段的开始代码前和引爆炸弹函数原创 2022-06-04 16:50:48 · 2092 阅读 · 0 评论 -
计算机系统基础Lab 1 位运算
实验前请认真阅读本文档和bits.c中的代码及注释(特别是bits.c前面部分的编程说明与示例),然后根据要求相应完成bits.c中的各目标函数的实现代码。 实验中实现的函数代码必须满足下述基本条件:只能使用有限类型和数量的C语言算术、逻辑操作,具体要求见每个函数前的注释说明中的"Legal ops"(允许使用的操作符)和"Max ops"(允许使用的最多操作符数量)。不得使用任何形式的强制类型转换。不得使用除整型外的任何其它数据类型,如数组、结构、联合等。不得定义和使用宏。不得定义除已给定的框架函数外的其原创 2022-06-04 16:48:55 · 2643 阅读 · 1 评论