[GKCTF2020]Check_1n
这,我也陷入了沉思
打开之后搜索字符串
看起来像是base系列的加密
flag{f5dfd0f5-0343-4642-8f28-9adbb74c4ede}
哦,我这里IDA显示不出来中文字符
找到密码是
flag{f5dfd0f5-0343-4642-8f28-9adbb74c4ede}
void __cdecl sub_404DF0(signed int a1)
{
int j; // [esp+50h] [ebp-14h]
int i; // [esp+54h] [ebp-10h]
char v3; // [esp+58h] [ebp-Ch]
int v4; // [esp+5Ch] [ebp-8h]
int v5; // [esp+60h] [ebp-4h]
if ( a1 == 9 )
{
system("color 70");
if ( dword_1C76738 )
{
if ( dword_1C7672C == 2 )
system("color 07");
sub_401037();
dword_1C76738 = 0;
dword_1C76754 = 0;
}
else
{
sub_401055();
dword_1C76738 = 1;
}
}
if ( a1 == 2 && dword_1B379B8 > 0 && dword_1B6CC08 == 1 )
{
byte_1C76740[--dword_1B379B8] = 0;
sub_401023(dword_1C76768, dword_1C76758);
printf("%s", byte_1C76740);
printf(" ");
}
if ( a1 == 4 )
dword_1B6CC18 = dword_1B6CC18 == 0;
if ( a1 == 3 && dword_1B6CC08 == 1 && !dword_1C7672C )
{
if ( !strcmp(aHelloworld, byte_1C76740) )
{
sub_401005();
dword_1B6CC08 = 0;
dword_1B379B8 = 0;
byte_1C76740[0] = 0;
}
else
{
dword_1B379B8 = 0;
byte_1C76740[0] = 0;
sub_401023(dword_1C76768, dword_1C76758);
printf(&byte_43025C);
sub_401023(dword_1C76768, dword_1C76758);
Sleep(0x4B0u);
printf(" ");
sub_401023(dword_1C76768, dword_1C76758);
printf("|");
}
LABEL_49:
if ( dword_1C76754 )
{
if ( a1 >= 5 && a1 <= 8 )
{
v5 = dword_1757210[2 * a1] + dword_1C62E70;
v4 = dword_1757214[2 * a1] + dword_1C62E74;
if ( dword_1757258[8 * v5 + v4] )
{
sub_401023(dword_1C62E2C, dword_1C62E28);
printf(" ");
dword_1C62E70 = v5;
dword_1C62E74 = v4;
dword_1C62E28 = dword_17572B8[2 * dword_1757258[8 * v5 + v4]];
dword_1C62E2C = dword_17572BC[2 * dword_1757258[8 * v5 + v4]];
dword_1C62DF8 = v5;
dword_1C62DFC = v4;
sub_401023(dword_1C62E2C, dword_1C62E28);
printf("[]");
}
}
}
if ( a1 == 1 )
{
if ( dword_1C76754 )
sub_401005();
}
return;
}
if ( a1 == 3 && dword_1C7672C == 1 && dword_1B379B8 == 1 && byte_1C76740[0] >= 49 && byte_1C76740[0] <= 57 )
{
dword_1C76754 = 0;
sub_401023(dword_1C76774 - 16, dword_1C76770);
printf(" ");
sub_40104B(byte_1C76740[0] - 48);
sub_401014(dword_1C62DE0, dword_1C62E04, dword_1C62E24, 97, 98, 99, byte_1C76740[0] - 48);
Sleep(0x7D0u);
for ( i = 0; i <= dword_1C76724; ++i )
{
for ( j = 0; j <= dword_1C62DF4; ++j )
byte_1C62EA0[1000 * i + j] = 0;
}
dword_1C7672C = 0;
dword_1B6CC08 = 0;
sub_401005();
dword_1C76754 = 1;
dword_1B379B8 = 0;
byte_1C76740[0] = 0;
goto LABEL_49;
}
if ( dword_1C7672C != 2 || a1 < 5 || a1 > 8 )
{
if ( a1 == 3 && dword_1C76754 )
{
switch ( dword_1757258[8 * dword_1C62E70 + dword_1C62E74] )
{
case 1:
sub_40102D();
dword_1C7672C = 1;
break;
case 2:
dword_1C76754 = 0;
sub_401041();
dword_1C7672C = 2;
system("color 07");
break;
case 4:
sub_401046();
sub_418F20();
sub_401005();
break;
}
}
goto LABEL_49;
}
v3 = 97;
switch ( a1 )
{
case 5:
v3 = 119;
break;
case 6:
v3 = 97;
break;
case 7:
v3 = 115;
break;
case 8:
v3 = 100;
break;
default:
break;
}
sub_40103C(v3);
}