ICS课程中前6个lab的总结

本文总结了ICS课程中前6个Lab的内容,包括位运算、二进制炸弹、BufferOverflow、模拟器、编译器和malloc库的实现。Lab2和Lab3涉及逆向工程和栈理解,Lab5的难点在于标记和重定位,Lab6的malloc库实现考验内存管理策略。全过程锻炼了编程、调试和优化技巧。
摘要由CSDN通过智能技术生成

  时至暑假,好好回忆下上个学期ICS课程中CSAPP那本书上的6个lab。

 

  Lab 1 : 位运算

    貌似没什么好说的,学会SVN提交代码,然后就是智力题了。当时不清楚规则以为有30分是比谁的操作符少,最后几个人丧心病狂到用离散的知识,语法的顺序,简化操作符,最后总数竟然从120+到了90+...最后发现只要下于规定个数就是满分,sign~。不过在简化的过程中还是略有所得的。

 

  Lab 2 : 二进制炸弹

    加深对汇编的理解,根据汇编代码推测程序要干的事情,所谓的”逆向工程“,或许破解大概就是这种过程吧。难度不是太大,一步一步慢慢推敲都能搞定,乐趣是在过程中用gdb修改寄存器各种jump过关以及一个叫”卓神“的人在发送给服务器信息之前用gdb修改信息篡改别人的分数,其乐无穷。

  

  Lab 3 : BufferOverflow

    一个原来黑客攻击的方法,加深对栈的理解,这个lab算栈的位数打草稿,意思感觉不是很大。

 

  Online Test:

    Lab2和Lab3的上机测试,Lab2和Lab3老老实实自己做过的人一般都没什么问题,但是我Lab2跳过,在test过程中除了Secret phase的跳了服务器报错吓出一身冷汗,还好在之后只跳secret phase成功过了。

 

  Lab 4:模拟器

    开始觉得工程量很大,其实后来发现就是按部就班写代码,很轻松,不怎么说了。

 

  Lab 5:编译器

    慢慢上手,难点

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值