32位无壳
又是一个直接退出的
留意一下特殊字符 (先猜一个base扔在这里
跟进main函数
int __cdecl main(int argc, const char **argv, const char **envp)
{
int v3; // esi
int result; // eax
int v5; // [esp+8h] [ebp-74h]
int v6; // [esp+Ch] [ebp-70h]
int v7; // [esp+10h] [ebp-6Ch]
__int16 v8; // [esp+14h] [ebp-68h]
char v9; // [esp+16h] [ebp-66h]
char v10; // [esp+18h] [ebp-64h]
sub_403CF8((int)&byte_40E140);
scanf(aS, &v10);
v5 = 0;
v6 = 0;
v7 = 0;
v8 = 0;
v9 = 0;
sub_401080((int)&v10, strlen(&v10), (int)&v5);
v3 = 0;
while ( *((_BYTE *)&v5 + v3) == byte_40E0E4[v3] )
{
if ( ++v3 > strlen((const char *)&v5) )
goto LABEL_6;
}
sub_403CF8((int)aError);
LABEL_6:
if ( v3 - 1 == strlen(byte_40E0E4) )
result = sub_403CF8((int)aAreYouHappyYes);
else
result = sub_403CF8((int)aAreYouHappyNo);
return result;