題目提示是走迷宮。
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。