攻防世界-逆向-ctf-maze

攻防世界-逆向-ctf-maze

攻防世界-逆向-ctf-maze_第1张图片
看到这个题目感慨万分,上一个看了四个小时也没看出来的题就是看不懂迷宫怎么设计,记得题目名字叫take a maze.。查壳
攻防世界-逆向-ctf-maze_第2张图片
无壳,64bit ELF文件,拖到ida里
攻防世界-逆向-ctf-maze_第3张图片
先输入,判断长度以及开头结尾,如果不正确,wrong flag
攻防世界-逆向-ctf-maze_第4张图片
这部分从输入第五个字符开始分析,进行判断

在这里插入图片描述
这个数组为迷宫
攻防世界-逆向-ctf-maze_第5张图片
写个程序打印一下,判断一下方向,一共18个字符加上6个刚好二十四。剩下就是判断Oo0.都是什么方向了
V9是整型,里面存储的应该为所在地址
攻防世界-逆向-ctf-maze_第6张图片
这两个取地址加1进行操作
攻防世界-逆向-ctf-maze_第7张图片
这两个单纯取地址进行操作
应该是一个存储行,一个存储列
攻防世界-逆向-ctf-maze_第8张图片
虽然不知道ShiDword什么意思,但这个8*v9说明,v9存储列,ShiDword(v9)存储行
再看看代码,推算出
Up:,
Down:0
Left:O
Right:o
在linux里跑一下
正确
攻防世界-逆向-ctf-maze_第9张图片

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