(十七)、easy_Maze
easy_Maze

一、 查壳

Linux里运行试试

二、IDA静态分析
1、 搜索字符串


a1存放的字符串是解题关键
2、 交叉引用到 Step_2

Output的执行条件是v10 == 6 && v9 == 6,记住它

我们要找V6,v6来自v7,v7是我们输入的数据,循环的结束取决于a1数组指针
再对这个函数交叉引用
3、main函数

可以发现v5就是a1数组,而v5来自于v9,而且v9的值原来便是存在的,我们只需下断点读取v5的值即可
三、IDA动态调试
进入step_1

下断点

Startprocess

根据v4的地址在hex view中找到数组的值
记录下来

四、走迷宫
回到Step_2

考虑到得到的数据是7行7列,这d,s,w,a像四个方向,而且成功拿到flag的条件是直到v7数组第七列第七行,所以,这是一个走迷宫问题
从这个迷宫图中可以看到,迷宫很简单,我们肉眼就能得到答案


五、拿到flag
UNCTF{ssddwdwdddssaasasaaassddddwdds}
六、总结
从看到a,s,d,w时就要有意识这可能是一个迷宫问题

浙公网安备 33010602011771号