혹시 이걸 풀려면 코드를 c 언어화 시켜야 하나요?

지금 gdb로 파일 받아서 어셈블리 코드로 하나씩 뜯어보고 있는데 진짜 좀 아닌거 같아서 다른 분들 풀이를 보니 c언어로 작성된 파일을 참고하면서 진행하시더라고요?
해당 파일이 elf 형식으로 이미 실행파일인데 어떻게 어셈블리도 아닌 c언어 코드로 작성이 가능한건가요? 아니면 제 어셈블리에 대한 지식이 부족해서 그런거고, 원래는 어셈블리 조금만 분석해도 답을 알 수 있는 문제인 건가요?

gdb에도 c언어화 시키는 기능이 있긴한데 파일 자체에 디버깅 플래그가 없어서 c 언어가 표시가 안되더라고요.
image.png

image.png


++수정

그냥 어셈블리 한 줄씩 분석해가면서 풀었습니다.
x64 dbg로 편하게 gui에서만 하다가 cui로 디버깅 하니까 진짜 머리 아프네요

#reversing
작성자 정보
답변 1
avatar
keyme
CTF Second Place

Ida나 ghidra 같은 툴을 이용해보시면 좋을 것같습니다.

2024.06.10. 15:38
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기