下载题目,首先使用exeinfo查壳

查出来是upx的壳 尝试使用脱壳工具脱壳
脱完壳使用ida打开

看到了jnz 有call了一个错误的函数 很明显是一个花指令
选中那一行 在ida中点击edit->Path program->Change program bytes

将e8修改成90
在汇编指令中e8是call 90是nop
修改好之后选中红色区域 按p 创建函数 就可以发现 现在可以反汇编了

按f5进行反汇编

发现程序判断用户输入是否为a d s w 对asc_408078 和 dword_40807C进行操作
然后通过题目名maze翻译过来就是迷宫 猜测通过用户的输入 移动一个坐标 找到flag

查看asc_408078的初始值是7

查看dword_40807C 初始值是0
经过一系列操作之后要使asc_408078 == 5 和 dword_40807C == -4
也是就是起始点(7,0)->终点(5,-4)

shift+f12查找字符串 看到了一个很可疑的字符串 看似是个迷宫
把它复制出来
从坐标得知 F 在第-4行 也就是说 f上面还有4行(0,-1,-2,-3)
F是-4行第5个, 也就是前面还有5个 排一下版

flag{ssaaasaassdddw}
]]>