본문 바로가기

리버싱!

justCTF2025

baby-goes-re

디코에 썻던걸 캡쳐해서 작성

 

set logging file output.log
set logging on

b *0x49e080
set $counter = 0

commands 1
  set $counter = $counter + 1
  printf "횟수: %2d, rbx: 0x%lx, 문자: %c\n", $counter, $rbx, $rbx
  if $counter == 53
    echo "53회 반복 완료. gdb를 종료합니다.\n"
    quit
  end
  continue
end

run < input.txt

def extract_characters(filename="output.log"):
    """
    output.txt 파일에서 "문자: " 이후의 문자를 추출하여 한 줄로 출력합니다.
    """
    extracted_chars = []
    try:
        # 파일을 UTF-8 인코딩으로 열도록 명시합니다.
        with open(filename, 'r', encoding='utf-8') as f:
            for line in f:
                # "문자: " 문자열이 포함된 줄을 찾습니다.
                if "문자: " in line:
                    # "문자: " 이후의 문자를 추출합니다.
                    char = line.split("문자: ")[1].strip()
                    if char:
                        extracted_chars.append(char)
        
        # 추출된 모든 문자를 한 줄로 합쳐 출력합니다.
        print("".join(extracted_chars))

    except FileNotFoundError:
        print(f"오류: {filename} 파일을 찾을 수 없습니다. GDB 스크립트가 실행되었는지 확인해주세요.")
    except UnicodeDecodeError:
        print("오류: 파일 인코딩 문제가 발생했습니다. 파일을 UTF-8로 저장했는지 확인해주세요.")

if __name__ == "__main__":
    extract_characters()

 

output.log
17.16MB

 

 


justCTF{W3lc0m3_t0_R3v1NG!_Th4t_w45nt-s0-B4d-w45_1t?}

'리버싱!' 카테고리의 다른 글

cce2025  (4) 2025.08.19
CCE 준비  (2) 2025.08.08
UIUCTF 2025-풀이  (3) 2025.07.26
DownUnderCTF2025-풀이  (3) 2025.07.21
cyberarena  (0) 2025.07.06