zoukankan      html  css  js  c++  java
  • 逆向-攻防世界-maze

    题目提示是走迷宫。

    IDA载入程序分析。

    输入字符长度必须是24,开头必须是nctf{,结尾必须是}。在125处按R就可以变成字符。

     sub_400650和sub_400660是关键函数,分析sub_400650。

    v10的下一字节减1.

    sub_400660v10的下一字节加1.

    分析这两个函数。

    v10减1.

    v10加1

    再看最后的比较函数。

    v9就是刚才的v10,应该是IDA自己随机的吧。

    进入函数a1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10。

    经过分析,可知 O:a2-1    o:a2+1   . :a3-1    0:a3+1   可以看出  就是上下左右,然后我们走迷宫走到0x23处,将方向记录,换成对应的符号就拿到了flag。

  • 相关阅读:
    tarjan algorithm
    最小生成树
    Manacher's Algorithm (马拉车算法)
    KMP
    Trie(字典树)
    Hash
    GDB调试
    图论
    扫描线
    STL
  • 原文地址:https://www.cnblogs.com/whitehawk/p/10779295.html
Copyright © 2011-2022 走看看