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()
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 |