[Wargame Write-up]/The Enigma Group
[EnigmaGroup][Cracking Challenges] Cracking 1
Kevin S.
2016. 10. 22. 14:27
PE Viewer로 확인해보면, VB로 짜여졌다는 것을 확인할 수 있다.
쉽게 해결하기 위해 P32Dasm이라는 툴로, 이벤트 관련 함수의 주소를 아래와 같이 확인할 수 있다.
Ollydbg로 바이너리를 로드한 후, 여기에서 사용중인 함수들을 볼 수 있는데, 마지막에 vbaVarTstEq라는 비교 함수를
사용하고 있다.
이 부근에서 입력값과 원래 비밀번호를 비교할 것이다.
원래 비밀번호를 확인하기 위해 호출 전에 BP를 걸자.
위에서 ECX, EDX를 인자로 넣는데, 레지스터 값을 확인해보면 다음과 같다. 스택 영역 주소임으로, 스택을 확인해보자.
필자는 abcd1234를 입력했다. 다른 하나는 원래 비밀번호일 것이다.
대문자로 변환된 문자열이 있는 이유는, 비교 직전에 대문자로 변환하는 함수를 사용하여 변환시키기 때문이다.
확인한 입력값을 입력하면
축하 메시지와 함께 인증값이 표시된다.