Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
[DreamHack] Reversing : rev-basic-0 문제 풀이 본문
문제:

요즘 워게임보다 코드에 집중을 했던 터라 오랜만에 다시 워게임에 손을 대봤다. 유료로 바뀐 드림핵.. 동아리 계정을 받게 되어 다시 들어가볼 수 있었다! 예전에 리버싱 처음 배울 때 풀었던 문제인데 요즘 통 리버싱을 안했어서.. 다시 감을 익히기 위해 기초 문제부터 손을 대볼까한다.
해당 문제는 correct를 출력하는 값을 찾으면 되는 아주 간단한 문제이다. 바로 풀이로 넘어가보도록 하겠다.
풀이:

파일 구조를 살펴보기 위해 IDA를 활용하여 구조를 살펴보았다.
if문과 같이 두 갈래로 나뉘는 곳에 "Correct"라는 문자열이 있는 것을 볼 수 있다. 아마 IDA도 x64dbg 처럼 문자열 검색이 있을거라 correct라고 검색해서 찾으면 좀 더 쉬울 것이다. 하지만 오랜만인만큼 정석대로 풀어볼까한다.

맥 기준 F5를 누르면 위와 같이 C코드로 보기 쉽게 만들어준다. 사용자로부터 입력값을 받고 sub_140001000이라는 조건을 통과하면 Correct라는 문자열이 출력되는 것을 알 수 있다.

sub_140001000 함수에 들어가보겠다.
a1과 "Compar3_the_str1ng" 문자열을 비교해서 일치하면 0이 출력되는데 이게 0이면 True를 반환해줄 것이다. (0==0 이므로)
그래서 이 값을 같게 만들어주면 puts("Correct")를 통해 우리가 원하는 Correct가 출력되므로 결국 flag는 "Compar3_the_str1ng"이다!

'WARGAME 🔫' 카테고리의 다른 글
| [H4CKING GAME] 디지털 포렌식 Season1 : CODE (0) | 2025.09.03 |
|---|---|
| [H4CKING GAME] 디지털 포렌식 Season1 : cat (0) | 2025.09.02 |
| [H4CKING GAME] 디지털 포렌식 Season1 : Easy (0) | 2025.09.01 |
| [H4CKING GAME] 디지털 포렌식 Season1 : Paint (1) | 2025.08.31 |
| [DreamHack] Web 파트 command-injection-1 문제 풀이 (0) | 2025.04.08 |
