이번에도 같은 방식의 문제입니다. 다음은 실행 모습입니다.
올리디버거를 통해 풀어보겠습니다. 여태 풀어왔던 방식대로 문자열을 찾아보니(코드창에서 마우스 우클릭 -> Search for -> All referenced test strings 클릭) Wrong password! 문자열이 바로 보입니다.
해당 위치로 이동한 후 위로 올라가면 축하 문자열이 보이고 그 위에 분기점을 찾을 수 있습니다.
그 바로 위에 비교문을 보시면 EAX와 스택의 어떠한 값을 비교하는 걸 보실 수 있습니다.
해당 부분에 BreakPoint(F2)를 지정한 후 실행하여 임의의 값을 입력한 후 결과를 분석하겠습니다.
실행 결과화면 입니다. 비교문에서 BreakPoint에 의해 멈춰있으며 제가 입력한 12345의 16진수 값인 3039가 EAX에 저장되어 있으며, EBP-3C의 값을 확인 할 수 있습니다.(표시방법은 스택의 주소부분을 클릭하시면 바뀝니다.)
정답 인증은 EBP-3C의 값을 10진수로 변환하시면 됩니다.