문제 파일을 file 명령어로 확인해보면 리눅스 64비트 실행파일임을 확인할 수 있다.

gdb로 파일을 열어보면 함수 목록도 확인할 수 없었고, main 함수도 확인할 수 없었다.

문제 설명을 보니 pack 라는 단어가 있었고, 리버싱 문제라고 한다. 그래서 exeinfo라는 툴을 통해 패킹 된 파일인지 확인해 보았다.

upx라는 패커로 패킹된 것을 확인할 수 있었고, exeinfo에서 제공해주는 github 사이트에서 언팩 툴을 구할 수 있었다.

upx.exe -d 옵션으로 언패킹 할 수 있었다.

언팩 된 flag 파일을 아이다로 열어보면 main 함수를 확인할 수 있었고 main 함수에서 flag를 들어가 보면 플래그로 보이는 문자열을 찾을 수 있었다.

 

+ Recent posts