BUUCTF:不思議

タイトルアドレス:https://buuoj.cn/challenges#Mysterious

ここに写真の説明を挿入
タイトルの添付ファイルはexeです。実行時に何かを入力し、いくつかの文字を入力してみてください。応答がありません。

ここに写真の説明を挿入
メモ帳で開いて、exeが64ビットか32ビットかを確認します

ここに写真の説明を挿入
PE...L...これは32ビットのexeファイル機能です。idaを使用してShift+F12文字を開いて表示します

ここに写真の説明を挿入
クリックwell doneしてフラグに似た文字列を見つけます。このアドレスを見つけ
ここに写真の説明を挿入
たらFunctions Window、クリックしてF5分解し、疑似Cコードを表示します。

ここに写真の説明を挿入

int __stdcall sub_401090(HWND hWnd, int a2, int a3, int a4)
{
    
    
  char v5; // [esp+50h] [ebp-310h]
  CHAR Text[4]; // [esp+154h] [ebp-20Ch]
  char v7; // [esp+159h] [ebp-207h]
  __int16 v8; // [esp+255h] [ebp-10Bh]
  char v9; // [esp+257h] [ebp-109h]
  int v10; // [esp+258h] [ebp-108h]
  CHAR String; // [esp+25Ch] [ebp-104h]
  char v12; // [esp+25Fh] [ebp-101h]
  char v13; // [esp+260h] [ebp-100h]
  char v14; // [esp+261h] [ebp-FFh]

  memset(&String, 0, 0x104u);
  v10 = 0;
  if ( a2 == 16 )
  {
    
    
    DestroyWindow(hWnd);
    PostQuitMessage(0);
  }
  else if ( a2 == 273 )
  {
    
    
    if ( a3 == 1000 )
    {
    
    
      GetDlgItemTextA(hWnd, 1002, &String, 260);
      strlen(&String);
      if ( strlen(&String) > 6 )
        ExitProcess(0);
      v10 = atoi(&String) + 1;
      if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )
      {
    
    
        strcpy(Text, "flag");
        memset(&v7, 0, 0xFCu);
        v8 = 0;
        v9 = 0;
        _itoa(v10, &v5, 10);
        strcat(Text, "{");
        strcat(Text, &v5);
        strcat(Text, "_");
        strcat(Text, "Buff3r_0v3rf|0w");
        strcat(Text, "}");
        MessageBoxA(0, Text, "well done", 0);
      }
      SetTimer(hWnd, 1u, 0x3E8u, TimerFunc);
    }
    if ( a3 == 1001 )
      KillTimer(hWnd, 1u);
  }
  return 0;
}

満足させる

if ( v10 == 123 && v12 == 120 && v14 == 122 && v13 == 121 )

入力文字の長さ超えることができない6、またはプログラムの終了をv10されるatoi()整数であり、機能番号に変換し+1、その後、条件を満たしているv10べき122v12v13v14アスキーに対応する文字xyz、入力

122xyz

あなたは旗を得ることができます

ここに写真の説明を挿入
フラグは、プログラムのスプライシングに従って疑似Cコードから取得することもできます。

flag{
    
    123_Buff3r_0v3rf|0w}

おすすめ

転載: blog.csdn.net/mochu7777777/article/details/109146153