그냥 IDA로 풀겠다.
int __cdecl main(int argc, const char **argv, const char **envp)
{
char v4[256]; // [rsp+20h] [rbp-118h] BYREF
memset(v4, 0, sizeof(v4));
sub_140001190("Input : ", argv, envp);
sub_1400011F0("%256s", v4);
if ( (unsigned int)sub_140001000(v4) )
puts("Correct");
else
puts("Wrong");
return 0;
}
sub_140001000에 입력한 v4를 넣는다. 아마 값을 확인하는 함수인 것 같다.
Correct를 출력하도록 값을 맞춰야 한다.
_BOOL8 __fastcall sub_140001000(const char *a1)
{
return strcmp(a1, "Compar3_the_str1ng") == 0;
}
wow
flag : Compar3_the_stri1ng