CSAPP LAB4:perflab-优化两个奇怪的函数
这里是前段时间写的csapp的另一个实验perflab的解题过程喵~
本实验要求优化handout里kernel.c中的两个函数,rotate函数的作用是将图像逆时针旋转90°,smooth函数的作用是对于图像中的每一个像素点,取它和周围的像素点的平均值,让图片变得模糊。下面让我来逐一优化他们^_^
这里是前段时间写的csapp的另一个实验perflab的解题过程喵~
本实验要求优化handout里kernel.c中的两个函数,rotate函数的作用是将图像逆时针旋转90°,smooth函数的作用是对于图像中的每一个像素点,取它和周围的像素点的平均值,让图片变得模糊。下面让我来逐一优化他们^_^
顾名思义,这个实验要求我们拆”炸弹”,炸弹是一个可执行程序,按照实验材料所给的提示,我们要利用反汇编工具来找出拆除炸弹的方法,最终拆掉所有的炸弹。这个实验还是十分有意思的,运用游戏化的方法让我们掌握反汇编的技能,提高阅读汇编码的能力,不得不佩服设计者。
下面我们来拆炸弹,老师给了我们一个炸弹大礼包,里头有好多个炸弹,我选择拆实验材料中的bomb1。按提示我们用objdump工具反汇编一下可执行文件,可以看到它的汇编代码,就像下图:
可以观察到程序中有phase1~6和secret_phase七个函数,从名字上看来它们就对应着我们要拆的炸弹,看来设计者也是个会玩的家伙,隐藏关卡都做了.. 为了方便,我将反汇编后得到的汇编代码输出到文本文件中,下面我们来一个个拆掉这些炸弹。
恩恩,本周的实验看起来不难,下面是实验要求:
实验内容:
是不是看起来好简单啊。。不过做着做着发现还是挺神烦的