The CS:APP Bomb Lab

编程入门 行业动态 更新时间:2024-10-25 19:32:13

The CS:<a href=https://www.elefans.com/category/jswz/34/1771370.html style=APP Bomb Lab"/>

The CS:APP Bomb Lab

The CS:APP Bomb Lab

  • insorker
  • 2021/11/16

Hello

电赛寄了,所以滚回来做bomblab了

Introduction

这个 Lab 一样让人摸不着头脑,上手的话还是属于完全不知道干什么,但是一旦上手做出第一题就好像穿了三天的内裤终于被换掉一样脑袋要高兴地从天上飞到地下,所以为了防止接下来的初上手的萌新大佬不知道从何下手,我先写一个简短的上手入门来帮助大家。

How to get start

无剧透,放心食用

which to blow yourself up. Have a nice day!

  1. 第一件事是学会如何使用gdb,我给出学校官方的简洁教程,希望大家能完整的跟一遍,帮助确实很大

    /

  2. 如果是第一次学会 gdb 的使用,可能还有点使不上劲,不建议直接用书上的disas,推荐使用layout,可以上网百度,或者 help 一下,或者使用以下简单的指令

    layout 用于分割窗口,可以一边查看代码,一边测试。主要有以下几种用法:
    layout src:显示源代码窗口
    layout asm:显示汇编窗口
    layout regs:显示源代码/汇编和寄存器窗口
    layout split:显示源代码和汇编窗口
    layout next:显示下一个layout
    layout prev:显示上一个layout
    Ctrl + L:刷新窗口
    Ctrl + x,再按1:单窗口模式,显示一个窗口
    Ctrl + x,再按2:双窗口模式,显示两个窗口

    ​ Ctrl + x,再按a:回到传统模式,即退出layout,回到执行layout之前的调试窗口。

  3. 学习一些输出的小诀窍,比如搜索 gdb x,还有如下

    print *(char *)$rax
    

然后就没什么好说的了,动手试试吧

Problem

1. phase_1

Hmm… Six phases must be more secure than one phase!

开解

很简单的题目,专门坑不熟悉 gdb 使用的新手

  1. input = read_line();前敲下断点

  2. 执行后发现值被存入了寄存器 %rdi

  3. 然后单步进入 phase_1 发现 esi 被存值

更多推荐

The CS:APP Bomb Lab

本文发布于:2024-03-09 22:00:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1726219.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:APP   CS   Lab   Bomb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!