Name이 CodeEngn 일때 Serial은 무엇인가
기본 화면
오답 화면
에러 메시지 " No, that is not the right answer :)"을 추적하자. 그 전에 아이디 패스워드를 입력받는 부분이 있을 것이고, 아이디에 따라서 다른 패스워드를 계산하는 로직이 있을 것으로 추정된다.
함수를 조회해보니, 예상했던 MessageBox 함수 이외에도 상당히 많은 단서를 발견했다.
해당 함수들에 bp를 설정하고 추적해보자.
가장 먼저 GetDlgItemTextA 함수를 통해 ID를 입력받고 있다. 이 함수는 입력받은 문자열의 길이를 반환하기 때문에, 해당 분기는 ID가 최소 3글자 이상이어야 한다는 것을 의미한다. 그렇지 않으면, 에러 메시지를 출력하고 종료한다.
사실 매우 단순하게 끝났다. 두 개의 GetDlgItemText 함수를 통해 아이디, 패스워드를 입력받고, lstrcmp 함수를 통해 결과값을 비교한다.
아이디로 "CodeEngn"을 입력하자 자동으로 생성된 패스워드를 발견할 수 있었다.
3265754874