소학회/워게임

[reversing]Dreamhack_rev-basic-1

haerim9.9 2026. 1. 27. 21:01
문제 설명

이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다.

해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요.

획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요.

예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banana}

 


 

exe 파일을 IDA로 열어서 확인하였다. f5로 디컴파일하였다.

v4 = 입력받는 값

v4를 sub_140001000 함수에 인자로 전달하여 참/거짓을 판별한다.

사진은 sub_140001000 함수이다. 0은 false를 말하니까 리턴 값이 0이 되지 않도록 해주어야 하는 것 같다. 즉, 해당 값이 아닐 경우 0을 반환하니까 해당 값과 일치하도록 만들어주면 된다. 또한, 배열을 통해 각 값마다 숫자가 할당되어 있으며 ASCII 코드를 참고하면 될 것 같다.

 

<ASCII 기준>
67 - C
111 - o
109 - m
112 - p
97 - a
114 - r
51 - 3
95 - _
116 - t
104 - h
101 - e
95 - _
99 - c
104 - h
52 - 4
114 - r
97 - a
99 - c
116 - t
51 - 3
114 - r

이 문자열을 합치면 Compar3_the_ch4ract3r이 나온다.

 


개인 공부 목적으로 작성된 글이며, 틀린 정보나 해석이 있을 수 있음.

https://dreamhack.io/wargame/challenges/15

 

로그인 | Dreamhack

 

dreamhack.io

 

'소학회 > 워게임' 카테고리의 다른 글

[web]Dreamhack_web-misconf-1  (0) 2026.03.30
[web]Dreamhack_phpreg  (0) 2026.03.23
[reversing]Dreamhack_simple-operation  (0) 2026.01.13
[misc]Dreamhack_Exercise: SSH  (0) 2025.11.04
[pwnable]Dreamhack_baby-bof  (0) 2025.09.30