올리디버거로 열고, Search for -> All Referenced text strings로 문자열을 찾아보면 위에서 보았던 Wrong password!를 보실 수 있습니다
그 부분의 내용은 다음과 같은데 어디에서 JMP해서 오는지를 알아보기 위해 위로 올라가 보겠습니다
위로 올라다가보면 빨간색 화살표의 시작점을 만날 수 있는데 그 부분의 내용은 다음과 같습니다
EAX와 DWORD PTR SS:[EBP-3C]를 CMP로 비교하고 점프를 결정하네요. CMP부분에 브레이크 포인트를 걸고 password에 123456을 입력하고 실행하고 브레이크 포인트에 멈춘 뒤에 값을 살펴보면 다음과 같습니다
EAX에 입력되어진 값이 제가 입력한 123456이고 DWORD PTR SS:[EBP-3C]의 값은 BD14B8D7 이군요. 이 BD14B8D7 값을 10진수로 바꾼 값이 password 같아 보입니다
BD14B8D7를 10진수로 바꾸면 3172251863이고, 이 값을 입력해보죠
정답임을 확인할 수 있습니다
문제에서 원하는 답은 password의 MD5 해쉬값이므로 3172251863를 MD5 해쉬 값으로 변환하면
DEA22FEE8D5293ACC6FE170A667DB7BB 입니다