WarGame/SuNiNaTaS

[SuNiNaTas] 써니나타스 11번 - REVERSING

URL은 다음과 같다.

http://suninatas.com/challenge/web11/web11.asp

 

Game 11

 

suninatas.com


해결책

여타 다른 문제와 다름없이 PE 파일을 다운로드할 수 있는 화면이 나온다.

이번에는 unregister라는 zip파일인데, project 1.exe이라는 확장 파일을 받을 수 있다. 실행하면 다음과 같다.

 

뭘 입력해서 보면 입력 폼이 ""로 바뀐다. 아래의 "Find RegisterKEY"를 보니까 정확한 스트링을 찾아오는 문제이다. 디버거를 켜서 문자열 참조로 일단 의심이 되는 곳에 BP 걸고 달려 보자

딱 봐도 offset 4503A 9에 AuthKey:라는 수상한 부분이 있다. 코드로 이동해서 조금 위쪽 분기에 BP를 걸어보자

입력 폼에 들어간 사용자 입력값이 어떻게 활용되는지 확인하기 위해서 dddddddd를 넣어보았다. 저 분기까지는 EAX에 사용자 입력값이 들어가 있고, EDX에 2V86H1XS0F가 들어있다. 그 후 404608에 있는 함수를 부른다. 결국은 뭐; 비교 구문이다. EAX , EDX가 같은지 비교하는 코드를 지나, 성공 / 실패 코드가 나뉘니 정답은 EDX에 들어 있는 값이니 "2V86H1XS0F"이다. 입력을 하면 어떠한 MD5 hash digest를 구할 수 있다. 이것이 Auth code가 된다.