XCTF reverse maze
阅读原文时间:2023年07月09日阅读:1

一.查壳

二.拖入ida64,静态调试,找到主函数F5反编译

1.发现每个if最终都会进入LABEL-15

点进去,看看这个函数是干啥的。

**这里基本可以推理出a3是行,a2是列了。

那么我们的迷宫一定是一个8列的矩阵。

得知这点,退出去,再分析。**

**v9是行,SHIDWORD函数是指的下一个字节,得知这点,从上面分析可知:

就将四个函数点进去就可以判断方向了。

举个例子:**

**相对应,其他方向,O:下,o:上,0:左,.:右。

2.将迷宫打印出来,python脚本如下。**

maze="  *******   *  **** * ****  * ***  *#  *** *** ***     *********"
res=""
count=0
for str in maze:
    res+=str
    count+=1
    if count%8==0:
        print(res)
        res=""

**3.由于我们是从左上角开始的,开始我们的路线

个人感觉答案不唯一的。。。。没办法。》-《。。。

根据迷宫最后得到的flag: nctf{o0oo00O000oooo…OO}**

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章