SW취약점분석

64bit ELF 바이너리 파서


요즘 읽고 있는 책 - 리눅스 바이너리 분석(원제 : Learning Linux Binary Analysis Uncover the secrets of Linux binary analysis with this handy guide)의 85 page를 보면, ELF 바이너리 파서 구현에 대한 간단한 예제가 있다.


이미지 출처 : http://security.cs.rpi.edu/courses/binexp-spring2015/

이  프로그램은 32비트 ELF 실행 파일의 프로그램 헤더와 섹션 일므을 출력하는 간단한 코드이다. 그런데 내가 테스트 하는 환경은 64비트 환경이어서, 원활히 작동하지 않았다. 


이에 간단히 코드를 약간 수정하였더니 64 bit 용 바이너리에서도 작동하도록 패치가 되었다.

코드는 아래와 같다.

이를 gcc 사용해서 컴파일 하고

그러면 elfparse64 라는 바이너리가 생성되었을 것이다. 테스트를 위해 자기 자신을 분석시켜보자.

결과는 아래와 같다.

이 결과가 실제로 정확한지 보기 위해 readelf 프로그램의 결과와 비교해보자.

Address 를 보면 모두 일치하는 결과이다.


하지만 이 방법은... 학습용이 아니고서는 굳이 별로 추천하고 싶진 않다 ㅋ 파이썬으로 이미 구현된 라이브러리가 있지 않을까?

Software Security Engineer

CPUU 님의 창작활동을 응원하고 싶으세요?

CPUU의 Daydreamin'
CPUU의 Daydreamin'
구독자 194

0개의 댓글

SNS 계정으로 간편하게 로그인하고 댓글을 남겨주세요.
새로운 알림이 없습니다.