逆向-攻防世界-maze

题目提示是走迷宫。

IDA载入程序分析。

逆向-攻防世界-maze

输入字符长度必须是24,开头必须是nctf{,结尾必须是}。逆向-攻防世界-maze在125处按R就可以变成字符。

逆向-攻防世界-mazesub_400650和sub_400660是关键函数,分析sub_400650。

逆向-攻防世界-mazev10的下一字节减1.

sub_400660逆向-攻防世界-mazev10的下一字节加1.

逆向-攻防世界-maze分析这两个函数。

逆向-攻防世界-mazev10减1.

逆向-攻防世界-mazev10加1

再看最后的比较函数。

逆向-攻防世界-mazev9就是刚才的v10,应该是IDA自己随机的吧。

进入函数逆向-攻防世界-mazea1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10。

逆向-攻防世界-maze

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

上一篇:Vue.js——基于$.ajax实现数据的跨域增删查改


下一篇:Android:ViewPager 切换动画效果