题目提示是走迷宫。
IDA载入程序分析。
输入字符长度必须是24,开头必须是nctf{,结尾必须是}。在125处按R就可以变成字符。
sub_400650和sub_400660是关键函数,分析sub_400650。
v10的下一字节减1.
sub_400660v10的下一字节加1.
分析这两个函数。
v10减1.
v10加1
再看最后的比较函数。
v9就是刚才的v10,应该是IDA自己随机的吧。
进入函数a1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10。
经过分析,可知 O:a2-1 o:a2+1 . :a3-1 0:a3+1 可以看出 就是上下左右,然后我们走迷宫走到0x23处,将方向记录,换成对应的符号就拿到了flag。