Wargame/dreamhack

dreamhack rev-basic-0 풀이

esyeonge 2021. 5. 15. 16:38

문제

; 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요!

 

64비트 exe 프로그램이므로, ollydbg만 있는 경우 하단의 링크를 통해 프로그램을 다운받자!

https://sourceforge.net/projects/x64dbg/

 

x64dbg

Download x64dbg for free. An open-source x64/x32 debugger for windows. An open-source x64/x32 debugger for windows. Development is done on GitHub (https://github.com/x64dbg/x64dbg).

sourceforge.net

기본 명령어는 ollydbg와 동일한 것으로 보인다.

 

프로그램을 실행시키면 위와 같이 실행된다.

오른쪽 마우스 - 다음을 찾기 - 모든 모듈 - 문자열 참조를 통해 문자열을 검색해보자.

 

Correct가 있음을 확인할 수 있다.

그리고 그 위에 Compar3_the_str1ng이라는 값이 보인다.

이 값이 비교가 되는 값으로 유추되어 해당 부분에 BP를 걸어둔 후 실행시켜보았다.

 

hihihi가 내가 입력한 값이다.

어셈블리를 보면 rdx에 Compar3_the_str1ng이, rcx에 내가 입력한 값이 들어가고

strcmp를 통해 비교가 되는 것으로 보인다.

 

DH{Compar3_the_str1ng}을 입력하였더니 문제가 풀렸다!

 

'Wargame > dreamhack' 카테고리의 다른 글

dreamhack rev-basic-5  (0) 2021.05.26
dreamhack rev-basic-4  (0) 2021.05.26
dreamhack rev-basic-3  (0) 2021.05.19
dreamhack rev-basic-2 풀이  (0) 2021.05.15
dreamhack rev-basic-1 풀이  (0) 2021.05.15