이 문제는 바이너리 파일만을 제공하기 때문에 소스코드는 따로 보여주지 않는다.
우선 대략적 진행 과정을 보기 위해 IDApro를 열어본다.
다음과 같이 sub_140001350에서 메인 함수를 찾을 수 있었다.
INPUT에 값을 넣으면 맞는지 틀린지에 따라 출력을 달리하는 것을 알았다.
그러면 조건을 확인하는 곳을 봐보자.
call sub_140001440에서 함수를 호출후, 'test eax, eax'라는 구문에서 비교를 통해 jz shot loc_1400013B6을 통해 Wrong인 분기문으로 가게 된다.
<aside> 💡 test eax, eax는 eax가 0인지 확인하는 구문이다. 참이라면 ZF를 1로 아니면 0으로 변경된다.
</aside>
jz는 "jump if zero" 라는 의미인데 ZF의 값이 0이면 해당 주소로 jump한다는 의미이다.
그러면 해당 함수에서 return되는 값이 true인지 false인지를 판단하는거니 sub_140001440를 봐보자