lhywk 님의 블로그

[Dreamhack] Check Function Argument 본문

Reversing/Dreamhack

[Dreamhack] Check Function Argument

lhywk 2025. 12. 26. 01:55

문제

이 문제는 메인 함수에서 어떤 함수를 호출하는 프로그램이 주어집니다.

해당 함수는 플래그가 담긴 문자열의 주소를 인자로 받습니다. 하지만 그 문자열을 출력하지는 않습니다.

동적 디버깅을 통해 함수의 인자를 확인하여 플래그를 획득하세요!

문제 풀이

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

동적 디버깅을 하라 했으니 pwndbg을 이용해 풀이하겠습니다.

먼저 IDA로 코드 구조부터 보겠습니다.

main 디컴파일

flag를 리턴하지만 문자열을 볼 수 없습니다.

동적 분석을 해보겠습니다.

main 주소 확인

main의 주소를 확인합니다.

pwndbg 동적 디버깅 시작

b *0x00000000004015F1 : main에 중단점 설정

r : 실행

call을 하기 전 rax에 인자값이 들어있고 그 뒤 rdi에 전달하여 함수를 호출합니다.

info reg rax: rax 레지스터에 저장된 값을 16진수와 10진수로 확인

x/s 0x405340 : 0x405340에 저장된 데이터를 문자열 형식으로 출력

플래그를 획득합니다.

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

[Dreamhack] Small Counter  (0) 2025.12.28
[Dreamhack] Check Return Value  (0) 2025.12.26
[Dreamhack] Simple Patch Me  (0) 2025.12.24
[Dreamhack] Simple Crack Me 2  (0) 2025.12.23
[Dreamhack] Simple Crack Me  (0) 2025.12.23