美文网首页
BUUCTF [HDCTF2019]Maze

BUUCTF [HDCTF2019]Maze

作者: doinb1517 | 来源:发表于2022-03-05 15:50 被阅读0次

    题目

    一个有花指令的题目

    题解

    首先尝试运行


    runn.png

    使用exeinfo查壳,显示upx壳。

    peinfo.png

    使用IDA Pro进行分析,发现尾部跳转,进行脱壳。


    unpack.png

    脱壳完毕后拖进IDA Pro中分析 寻找main函数没有找到 查看start函数。找到了_main函数,但是functionns窗口并没有识别,进入_main函数。

    01.png
    jnz.png

    发现有很多不识别的命令,这里被当作数据处理,查看0x40102C处的jnz命令,这个jnz指令跳转到临近的一个地址 ,而这个地址上又是一个call,之后的数据都不被识别为OP Code,可以发现这里是常见的花指令。

    cmp eax, ecx
    jnz local
    

    这是一种常见的无条件跳转,同样的道理下面这种形式也是可以的。

    xor eax, eax
    jz local
    

    将E8给nop掉,下面的部分转还成Code以后如下。

    02.png

    保存修改,推出IDA Pro,然后重新打开,找到_main函数,直接查看伪代码。

    03.png

    现在就很清晰,就是个走迷宫,一共14步,初始坐标(7,0),最终坐标(5,-4),我的策略是先走到终点,再走来会走几步重复的来凑步数。

    aasssssssswwww

    06.png

    而且查看字符串时可以看到迷宫提示,先把F给定位到,F前面有四行,而且时第五行的第六个字母(是从0开始计数的)第五行确定以后,前面还有四十个字母,有四行,那么每一行就是十个字母,所以我们可以把这个迷宫给还原。

    04.png
    *******+**
    ******* **
    ****    **
    **   *****
    ** **F****
    **    ****
    **********
    

    从+走到F就行,w:上;s:下;a:左;d:右,ssaaasaassdddw

    得到flag

    05.png

    相关文章

      网友评论

          本文标题:BUUCTF [HDCTF2019]Maze

          本文链接:https://www.haomeiwen.com/subject/emhbrrtx.html