WP-南邮CTF逆向第五题 maze

WP-南邮CTF逆向第五题 maze

  1. 用记事本打开maze,发现是elf文件
  2. 将maze载入idaPro,找到main函数,按下F5查看其伪代码。分析伪代码
    WP-南邮CTF逆向第五题 maze
  3. 根据分析,可知0X601060处是一个迷宫(maze),我们对sub_400690这个函数进行分析

WP-南邮CTF逆向第五题 maze
然后观察0X601060处的数据,
WP-南邮CTF逆向第五题 maze
是保存了64个数据,再根据sub_400690这个函数中的
WP-南邮CTF逆向第五题 maze
可以判断出,这是一个8 * 8的迷宫,写脚本打印迷宫
WP-南邮CTF逆向第五题 maze
WP-南邮CTF逆向第五题 maze
由上述对伪代码的分析,可得程序是得最左上角的点到达#所在的位置,并且一共18步,经过对迷宫的分析,可得顺序为右下右右下下左下下下右右右右上上左左,经过对伪代码的分析可得,‘O’是左,’o’是右,‘.’是上,‘0’是下,所以可得用户输入的中间18个字符是o0oo00O000oooo…OO加上nctf{},可得flag为nctf{o0oo00O000oooo…OO}

本人认为,做对该题的关键是一定要脑洞大开,要结合题目,再根据伪代码当中的四个函数判断出这是一个迷宫,然后四个函数分别对应上下左右,如果能分析出这个来,那么这个问题就解决了大部分了