码迷,mamicode.com
首页 > 移动开发 > 详细

CSAPP lab2 二进制拆弹 binary bombs phase_5 施工中

时间:2019-04-14 09:53:57      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:分析   字符   txt   input   打开   字符串   框架   指针   bin   

 phase_5

 

phase_5要求输入一个包含6个字符的字符串。phase_5函数从中读取这些信息,并判断其正确性,如果不正确,则炸弹爆炸。

phase_5主要考察学生对指针(数组)机器级表示的掌握程度。

观察框架源文件bomb.c:

 技术图片

从上可以看出:

1、首先调用了read_line()函数,用于输入炸弹秘钥,输入放置在char* input中。

2、调用phase_5函数,输入参数即为input,可以初步判断,phase_5函数将输入的input字符串作为参数。

因此下一步的主要任务是从asm.txt中查找在哪个地方调用了readline函数以及phase_5函数。

1.1 寻找并分析调用phase_5函数的代码

打开asm.txt,寻找phase_5函数。

 技术图片

 

phase_1类似分析:

1、当前栈的位置存放的是read_line函数读入的一串输入;

2、phase_5的函数入口地址为0x8048df7

此时的函数栈为:

 技术图片

1.2 phase_5函数分析

继续寻找phase_5,或搜索8048df7,可以找到phase_5函数入口。如下图所示:

技术图片

CSAPP lab2 二进制拆弹 binary bombs phase_5 施工中

标签:分析   字符   txt   input   打开   字符串   框架   指针   bin   

原文地址:https://www.cnblogs.com/wkfvawl/p/10703941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!