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函数入口。如下图所示:
原文地址:https://www.cnblogs.com/wkfvawl/p/10703941.html
时间: 2024-11-08 04:45:19