zoukankan      html  css  js  c++  java
  • 攻防世界 reverse 流浪者

    流浪者 

    int __thiscall sub_401890(CWnd *this)
    {
      struct CString *v1; // ST08_4
      CWnd *v2; // eax
      int v3; // eax
      int v5[26]; // [esp+4Ch] [ebp-74h]
      int i; // [esp+B4h] [ebp-Ch]
      char *Str; // [esp+B8h] [ebp-8h]
      CWnd *v8; // [esp+BCh] [ebp-4h]
    
      v8 = this;
      v1 = (CWnd *)((char *)this + 100);
      v2 = CWnd::GetDlgItem(this, 1002);
      CWnd::GetWindowTextA(v2, v1);
      v3 = sub_401A30((char *)v8 + 100);
      Str = CString::GetBuffer((CWnd *)((char *)v8 + 100), v3);
      if ( !strlen(Str) )
        return CWnd::MessageBoxA(v8, "请输入pass!", 0, 0);
      for ( i = 0; Str[i]; ++i )
      {
        if ( Str[i] > 57 || Str[i] < 48 )
        {
          if ( Str[i] > 122 || Str[i] < 97 )
          {
            if ( Str[i] > 90 || Str[i] < 65 )
              sub_4017B0();                         // 错误
            else                                    // 65-90  +29
              v5[i] = Str[i] - 29;                  // 大写
          }
          else
          {                                         // 97-122   +87
            v5[i] = Str[i] - 87;                    // 小写
          }
        }
        else
        {                                           // 48-57   +48
          v5[i] = Str[i] - 48;                      // 数字-'0'
        }
      }
      return sub_4017F0(v5);
    }

    sub_4017F0(v5)

    BOOL __cdecl sub_4017F0(int *a1)
    {
      BOOL result; // eax
      char Str1[28]; // [esp+D8h] [ebp-24h]
      int v3; // [esp+F4h] [ebp-8h]
      int i; // [esp+F8h] [ebp-4h]
    
      i = 0;
      v3 = 0;
      while ( a1[i] < 0x3E && a1[i] >= 0 )
      {
        Str1[i] = aAbcdefghiabcde[a1[i]];
        ++i;
      }
      Str1[i] = 0;
      if ( !strcmp(Str1, "KanXueCTF2019JustForhappy") )
        result = sub_401770();                      // 正确
      else
        result = sub_4017B0();                      // 错误
      return result;
    }

    wp

    tab='abcdefghiABCDEFGHIJKLMNjklmn0123456789opqrstuvwxyzOPQRSTUVWXYZ'
    tg='KanXueCTF2019JustForhappy'
    temp=[]
    for i in range(len(tg)):
        temp.append(tab.index(tg[i]))
    flag=''
    for c in temp:
        if c>=65-29 and c<=90-29:
            c+=29
        elif c>=97-87 and c<=122-87:
            c+=87
        elif c>=48-48 and c<=57-48:
            c+=48
        flag+=chr(c)
    print flag

    j0rXI4bTeustBiIGHeCF70DDM

    flag{j0rXI4bTeustBiIGHeCF70DDM}

  • 相关阅读:
    mosquitto配置文件说明
    Mac 下 Mosquitto 安装和配置 (Mosquitto为开源的mqtt服务器)
    transfer learning
    NP问题
    旋转矩阵与四元数
    在数学中一个非凸的最优化问题是什么意思?
    国产操作系统优麒麟安装步骤
    齐次坐标
    反走样
    数据分析师
  • 原文地址:https://www.cnblogs.com/DirWang/p/12234512.html
Copyright © 2011-2022 走看看