(十七)、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时就要有意识这可能是一个迷宫问题

posted @ 2022-02-09 22:59  TLSN  阅读(39)  评论(0)    收藏  举报