• [BUUCTF]REVERSE——[HDCTF2019]Maze


    [HDCTF2019]Maze

    附件

    步骤:

    1. 例行检查,32位程序,upx壳
      在这里插入图片描述
    2. upx脱壳儿后扔进32位ida,首先检索程序里的字符串
      在这里插入图片描述
      有类似迷宫的字符串,下面也有有关flag的提示字符串,但是没法进行交叉引用跳转
    3. 查看main函数,没法f5,看汇编,下方有个奇怪的jnz指令,它跳转到了下一行,相当于没跳
      在这里插入图片描述
    4. 它call了一个奇怪的地址,ida没法分析出来,百度后得知这个叫花指令,nop掉
      在这里插入图片描述
      在这里插入图片描述
    5. 之后就是这个call指令,不能全部nop,因为后面那个东西可能是有效代码(我先全部nop掉了没法f5)。按d将其先转换为字节数据。
      在这里插入图片描述
    6. 仍然没法f5,说明还存在花指令,在上述的花指令的链接中,那篇博主总结了花指令的常见情况,知道了db 0E8h是添加花指令,继续nop掉
      nop掉之后IDA自动的将后面的数据转换为代码数据
      在这里插入图片描述
    7. 此时数据地址是红色的,仍然没法f5反汇编,将关键代码全部选中,按p键将其声明为函数
      然后就可以F5伪代码了
      在这里插入图片描述
      在这里插入图片描述
      输入的长度为14,然后要让dword_408078=5,40807c=-4,然后w表示上,s表示下,a表示左,d表示右
    8. 这是一道迷宫题,先打印一下字符
      在这里插入图片描述
      按照迷宫题的经验,应该是从一个字符走到另一个字符,这边从+走到F,所以路径是–>下下左左左下左左下下右右右上,也就是–>ssaaasaassdddw,检验一下,符合条件
      flag{ssaaasaassdddw}
  • 相关阅读:
    [SCOI2010]连续攻击游戏
    [SCOI2010]幸运数字
    SCOI2010第一场
    Asm.Def谈笑风生
    商务旅行
    [NOI2000] 单词查找树
    [HNOI2004] L语言
    于是他错误的点名开始了
    字典
    [SDOI2015]星际战争
  • 原文地址:https://www.cnblogs.com/xlrp/p/14273635.html
Copyright © 2020-2023  润新知