逆向-攻防世界-maze

题目提示是走迷宫。

IDA载入程序分析。

输入字符长度必须是24,开头必须是nctf{,结尾必须是}。在125处按R就可以变成字符。

 

 逆向-攻防世界-maze_第1张图片sub_400650和sub_400660是关键函数,分析sub_400650。

逆向-攻防世界-maze_第2张图片v10的下一字节减1.

sub_400660逆向-攻防世界-maze_第3张图片v10的下一字节加1.

逆向-攻防世界-maze_第4张图片分析这两个函数。

逆向-攻防世界-maze_第5张图片v10减1.

逆向-攻防世界-maze_第6张图片v10加1

再看最后的比较函数。

v9就是刚才的v10,应该是IDA自己随机的吧。

进入函数逆向-攻防世界-maze_第7张图片a1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10。

 

逆向-攻防世界-maze_第8张图片

经过分析,可知 O:a2-1    o:a2+1   . :a3-1    0:a3+1   可以看出  就是上下左右,然后我们走迷宫走到0x23处,将方向记录,换成对应的符号就拿到了flag。

 

转载于:https://www.cnblogs.com/whitehawk/p/10779295.html

你可能感兴趣的:(逆向-攻防世界-maze)