ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

极客巅峰2020 virus

2021-01-16 18:57:56  阅读:213  来源: 互联网

标签:极客 .. esp int v11 virus 2020 v6 ebp


迷宫题

题目逻辑:

1.以4个 - 分割了5段内容。xxx-xxx-xxx-xxx-xxx  第一段为进入迷宫的顺序,之后的段为迷宫的行走路线

2.根据题目的内容,可以判断出进入迷宫的顺序。直接确定顺序和flag

题目详情如下

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int v3; // eax
  _DWORD v5[10]; // [esp+14h] [ebp-4Ch]
  _DWORD v6[4]; // [esp+3Ch] [ebp-24h]
  int v7; // [esp+4Ch] [ebp-14h]
  size_t v8; // [esp+50h] [ebp-10h]
  int v9; // [esp+54h] [ebp-Ch]
  int i; // [esp+58h] [ebp-8h]
  int v11; // [esp+5Ch] [ebp-4h]

  __main();
  puts("There is a long way to defeat it.");
  scanf("%s", flag);
  v9 = strlen(flag);
  v6[0] = 0;
  v6[1] = 0;
  v6[2] = 0;
  v6[3] = 0;
  v7 = 0;
  v11 = 0;
  v8 = 0;
  for ( i = 0; i < v9; ++i )                    // 该循环包括:
                                                // 1.确定 - 的索引
                                                // 2.限制v5(迷宫进入顺序的值)为0-9
  {
    if ( flag[i] == '-' )
    {
      v3 = v11++;                               // v11会+1
      v6[v3] = i;                               // 将每个索引保存到v6
    }
    if ( !v11 )                                 // 当v11不为0时,即第1次遇到v11时,获得v5的值
    {
      v5[i] = flag[i] - 48;
      if ( (int)v5[i] > 9 || (int)v5[i] < 0 )   // 限制范围在0-9 这里其实就是字符串的‘0’-‘9’
        return 0;
    }
  }
  if ( v11 != 4 )                               // 要有4个'-'
    return 0;
  v7 = v9;
  for ( i = 1; i <= v11; ++i )
  {
    v8 = v6[i] - v6[i - 1] - 1;                 // 计算4个-之间的距离,就是走迷宫的步数
                                                // 根据这个step里的次序和步数,我们直接确定迷宫的次序,是4312
    if ( step[i] != v8 )                        // 0x13 0x19 0x1A 0x1C
      return 0;
    strncpy(&road[200 * i], &flag[v6[i - 1] + 1], v8);
  }
  for ( i = 0; i <= 3; ++i )                    // 确定flag,里边有swad的方向以及d为中点,.为路线的说明
  {
    if ( check_flag((int)&global_map + 200 * v5[i], v5[i], &road[200 * i + 200]) )
    {
      puts("How about try again?");
      return 0;
    }
    if ( i == 3 )
      printf("Great! We will defeat it!!! your flag is flag{%s}", flag);
  }
  return 0;
}

 搜索字符串得到迷宫图,根据迷宫图:

|||||||||||||||
|||||||||||||||
|||||||||||||||
||s.........|||
|||||||||||.|||
||d||||||||.|||
||.||||||||.|||
||.||||||||.|||
||..........|||
|||||||||||||||
|||||||||||||||||||
||s|||||||||||||d||
||..|||||||||||..||
|||..|||||||||..|||
||||..|||||||..||||
|||||..|||||..|||||
||||||..|||..||||||
|||||||..|..|||||||
||||||||...||||||||
|||||||||||||||||||
|||||||||||||||
||.........s|||
||.||||||||||||
||.||||||||||||
||.||||||||||||
||.||||||||||||
||.||||||||||||
||.||||||||||||
||.........d|||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||||||||||||||
|||..........||
|||.||||||||.||
|||.||||||||.||
|||.||||||||.||
|||.||||||||.||
|||s||||||||d||
|||||||||||||||

得到 flag{4312-wwwwwdddddddddsssss-aaaaaaaaasssssssddddddddd-dddddddddsssssaaaaaaaaawww-sdsdsdsdsdsdsddwdwdwdwdwdwdw}

标签:极客,..,esp,int,v11,virus,2020,v6,ebp
来源: https://blog.csdn.net/lhk124/article/details/112719086

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有