https://buuoj.cn/challenges#[GKCTF%202021]QQQQT

Engima 壳,需要去壳

https://lifeinhex.com/

32 打开 ida,主函数上面翻就是解密函数

inputp = input;
v19 = (int)(input + 1);			// 21 hits. Symbolic instruction
if ( strlen(input) )			// 21 hits. Symbolic instruction
{
  v4 = &v2[v20];
  v17 = v4;
  while ( 1 )
  {
    v19 = ((char)*v4 << 8) + inputp[v1];			// Symbolic instruction
    v5 = v19 / 58;
    *v4 = v19 % 58;
    if ( v5 )
    {
      do
      {
        v6 = (char)*--v4;
        v7 = (v6 << 8) + v5;
        v19 = v7 / 58;
        *v4 = v7 % 58;
        v5 = v19;
      }
      while ( v19 );
      v4 = v17;
    }
    if ( ++v1 >= strlen(input) )
      break;
    inputp = input;
  }
  v2 = v21;
}
v8 = 0;
if ( !*v2 )
{
  do
    ++v8;
  while ( !v2[v8] );
}
v9 = v20;
if ( v8 <= v20 )
{
  v10 = v2 - (_BYTE *)v23;
  do
  {
    v11 = (char *)v23 + v8++;
    *v11 = map[(char)v11[v10]];
  }
  while ( v8 <= v9 );
}
if ( !qstrcmp((const char *)v23, "56fkoP8KhwCf3v7CEz") 

base 58 加密

flag{12t4tww3r5e77}