Input에서 조건에 대한 함수를 가보면
signed __int64 __fastcall sub_140001000(__int64 a1)
{
int i; // [rsp+0h] [rbp-18h]
for ( i = 0; (unsigned __int64)i < 0x12; ++i )
{
if ( *(_DWORD *)&aC[4 * i] != *(unsigned __int8 *)(a1 + i) )
return 0i64;
}
return 1i64;
}
입력의 각 문자와 전역변수 aC
의 각 문자와 비교하는 것을 확인할 수 있다.
IDA에서 aC를 눌러서 확인해보면 data 세션에 있는 문자들을 확인할 수 있고, 이를 종합하면 플래그가 된다.
[Dreamhack] rev-basic-1 (0) | 2021.03.15 |
---|---|
[Dreamhack] rev-basic-0 (0) | 2021.03.15 |