美文网首页程序员
CSAPP——bomblab拆弹实验3记录

CSAPP——bomblab拆弹实验3记录

作者: doctordc | 来源:发表于2020-05-13 20:53 被阅读0次

回头看了看别人的解析,发现我1和2的做法并不好。于是这次就按照人家的做法来做了3号实验。

解析视频:

https://www.bilibili.com/video/BV1VW411A77F/?p=1

这次就先把所有汇编代码导出来,然后分析一下:

objdump -d bomb >asm.txt

找到了几个关键点:一个是这一个 0x4025cf,等会进去一看是%d %d

然后是0x402470,进去一看是下一句的地址0x400f7c。

看了看下面的结构,全是跳转0x400fbe,然后0x400fbe是一个判断。这就像是一个条件选择判断的结构。分析这些代码,看出关键点就是rax和rsp。因为有7个分支,直觉rax就是1-7可选7个数分别对应7个分支。rsp我想的应该是栈指针,但是跟第二个输入参数有什么关系我也没想出来,只能试试。

0x4025cf是%d %d ,说明是要输入两个数字。这里我输入的是2 100

嗯,说明rax就是我输入的第一个值。既然是和1比大,那就是说明第一个数还不能输1。

这里看到0x402470的值就是0x400f7c。然后很巧的是,往下执行到比较

嗯?($rsp)是无符号数200?我输入的是2 和 100,那就是相乘呗?那就是解方程式呗

于是我做了这个式子去算,但是就很奇怪的是,之后怎么看这个($rsp)的值就千奇百怪一样,给我搞晕了。就困在这第二个数上一下午思路没走出来。无奈去看了解析。才反应过来不是这么回事。rsp就是栈指针,一般不用来受控的。那这个第二个判断只需要找到一个定值就可以了。其实就是我之前写出来的几个eax的值。分别相对应了就可以了。赶紧去试了一组 7 327 ,跑了下过了。

这次算是思路方向走死了,希望在做后续实验的时候不要出现这种问题了

相关文章

  • CSAPP——bomblab拆弹实验3记录

    回头看了看别人的解析,发现我1和2的做法并不好。于是这次就按照人家的做法来做了3号实验。 解析视频: https:...

  • CSAPP——bomblab实验1

    最近学习CSAPP,做到对应实验bomblab了,记录一下拆弹过程。 https://github.com/Eug...

  • CSAPP——bomblab拆弹实验6记录

    实验6代码实在太长了,分析了很久。就都标在上面了 由于太长所以一段一段循环去拆解分析的。配合画图辅助还是比较好理解...

  • CSAPP——bomblab拆弹实验2记录

    这第2个拆弹过程有点上头了,思路不太好,不过在此记录一下过程。 老样子gdb list出来后先看看phase_2的...

  • CSAPP——bomblab拆弹实验4、5记录

    4这个有点巧过了,就直接写了。 因为这个phase_4上面是func4,我就直接先看了。 看完func4,感觉用了...

  • CSAPP——bomblab拆弹实验隐藏关卡记录

    隐藏关卡参考 https://www.bilibili.com/video/BV1VW411A77F?p=8 ht...

  • bomb lab 解题报告

    对应课本csapp 的实验 https://hakula.xyz/csapp/bomblab.html[https...

  • CSAPP--配套实验(Bomblab)记录

    实验材料 这是这学期上系统级编程课的实验之一,是从CMU引入的,源代码和资料可以CMU课程网站获得,直接选择第二个...

  • CSAPP:bomblab

    这次的实验真的挺有意思的,但是枯燥的汇编代码,实在是让我非常捉急,晦涩难懂,真的还好有汇编器这种东西的出现,否则真...

  • bomb lab

    概述 这个实验是有名的二进制拆弹实验。这是实验指导书和实验源程序。通过阅读汇编代码来判断能够“拆弹”的目标字符串。...

网友评论

    本文标题:CSAPP——bomblab拆弹实验3记录

    本文链接:https://www.haomeiwen.com/subject/ciionhtx.html