本文主要是介绍攻防世界maze做法(迷宫题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先查壳64bit,直接丢进ida64中进行反编译就完事儿了,然后直接进入main函数打注释分析首先,题目已经提示了这是个迷宫题,我们抓住做迷宫题的两个要点,一找玩法,二找地图,
玩法在主函数中,四种符号要和上下左右对应,此处暂时判别不出对应关系,我们先进入函数sub_400690查看,此处的a3代表列的理由是,a3*8,a2代表行数,一行八个,地图是一个二维数组,行+列依次读取移动,这样之后,就能找下上下左右同字符的对应关系了,就像上文图片中的注释一样,下一步,找地图双击进入末置位的函数asc_601060,这个就是地图,下方的十六进制查看器,就显示的很好,shift+e提取出来,然后写代码,八位一换,写代码运算出来结果如图,
32是要走的路,上下左右分别对应字符‘0’ ‘.’ ‘O’ ‘o’ 然后慢慢写,就得出flag了,
nctf{oo0oo00O000oooo..OO},最后提一嘴,这个文件不是windows的exe可执行文件,所以只能用ida进行远程Linux调试(主页有相应的文章教程)
这篇关于攻防世界maze做法(迷宫题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!