lhywk 님의 블로그

[Dreamhack] Simple Crack Me 본문

Reversing/Dreamhack

[Dreamhack] Simple Crack Me

lhywk 2025. 12. 23. 11:53

문제

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

해당 바이너리를 분석하여 correct를 출력하는 10진수 양수 값을 찾으세요!

문제 풀이

해당 문제 바이너리는 elf 파일입니다.

실행을 시켜볼게요.

바이너리 실행

실행을 해보면 입력값을 받고 123이라는 입력을 주었을때 7b is wrong x( 라는 문자열을 출력해요.

123은 0x7b인데 해당 printf문의 포맷은

%x is wrong x(으로 추측할수 있겠네요.

 

IDA를 통해 분석해보겠습니다.

shift+f12로 문자열 검색을 시도해 볼게요.

우리가 알고 있는 문자열 is wrong을 따라가 봅시다.

string 찾기
주소 따라가기

해당 문자열이 들어있는 rodata 섹션으로 갑니다.

이제 이 문자열을 참조하는 주소를 따라가기 위해서 x를 눌러 따라가 볼게요.

xref
디컴파일

해당 문자열을 참조하는 주소를 따라가고 디컴파일을 하면 저희가 원하는 코드를 볼수 있게되요.

Correct!를 출력하는 곳을 보면 입력 값이 322376503이면 correct를 출력하네요!

플래그 획득

해당 입력값이 플래그가 됩니다.

'Reversing > Dreamhack' 카테고리의 다른 글

[Dreamhack] Simple Patch Me  (0) 2025.12.24
[Dreamhack] Simple Crack Me 2  (0) 2025.12.23
[Dreamhack] rev-basic-8  (0) 2025.12.23
[Dreamhack] rev-basic-6  (0) 2025.12.17
[Dreamhack] rev-basic-4  (1) 2025.12.16