int __fastcall main(int argc, const char **argv, const char **envp)
{
int v3; // ecx
int v4; // r8d
int v5; // r9d
int v6; // edx
int v7; // ecx
int v8; // r8d
int v9; // r9d
int result; // eax
int v11; // [rsp+4h] [rbp-Ch] BYREF
unsigned __int64 v12; // [rsp+8h] [rbp-8h]
v12 = __readfsqword(0x28u);
v11 = 0;
sub_40BB20((unsigned int)&unk_4B6004, (unsigned int)&v11, (_DWORD)envp, v3, v4, v5);
if ( v11 == 322376503 )
{
sub_41A400("Correct!");
result = 0;
}
else
{
sub_40B990((unsigned int)"%x is wrong x(\n", v11, v6, v7, v8, v9);
result = 1;
}
if ( v12 != __readfsqword(0x28u) )
sub_45A420();
return result;
}
(ida로 디컴파일 했을 때 명칭이 main도 아니였다. 임의로 수정한거다)
저 함수들을 몇 개 열어봤는데 아무리 봐도 분석하라고 준 건 아닌 것 같다.
그래서 일단 몇 개를 시험삼아 넣어봤다. 왜냐하면 else문에서 틀린 답을 wrong이라고 주기 때문에 힌트를 얻을 수 있을 것 같았기 때문이다.

흠...아무리 봐도 16진수로 바꾸는 것 같은데

엥 이게 아닌가

아
비교문은 int랑 비교하는거라 그냥 대입하면 된다...ㅋㅋㅋ
