迷宫问题参考:https://ctf-wiki.github.io/ctf-wiki/reverse/maze/maze/
下载下来后发现是64位ELF文件,没有加壳。由文件名easy_Maze知道这是一个迷宫问题,我们需要求出迷宫所存数组,以及在迷宫中行走对应的输入。拖入IDA,查找字符串交叉应用找到主函数,F5反编译发现主界面定义了51个连续变量,猜想这些变量极有可能就是迷宫的构成要素。除去变量,函数操作如下:
可以看到这里有三个函数,Step_0,Step_1,Step_2,应该就是对已有数据的操作了。变量中v9已知;v7,maze未知,所以猜测Step_0函数负责将v9的值经过变换传递给v7,Step_1负责将v7的值变化传递给maze,最终由在Step_2处传入maze数组。
进入Step_2函数,代码主体部分如下: