본문 바로가기
리눅스 Q&A

리눅스에서 바이너리 파일 (실행파일 ELF) 수정하는 방법

by reallinux1 2023. 9. 11.

리눅스에서 바이너리 파일 (실행파일 ELF) 수정하는 방법

 

Q: 리눅스에서 exec파일을 개조하고싶은데 할방법이 없을까요?

 

 

A: 리눅스에서 바이너리 포맷형식이 다양하지만

가장 대표적인것이 ELF 가 있고 말씀하신 exec 파일(실행파일, 바이너리)도 ELF일 수 있습니다.

hexedit 이라는 프로그램을 사용하신다면 바이너리 파일내용을 수정하실수있습니다.

(설치명령 : apt install -y hexedit ) 

사용법은 https://linux.die.net/man/1/hexedit  참고하실 수 있습니다.



추가적으로 바이너리 파일(예: a.out) 자체를 수정하시기전에 

아래 처럼 바이너리 내용을 확인하는것도 추천드립니다.

(설치명령 : apt install -y binutils)

# 바이너리 코드내용 (Disassembly)확인하기 (main 함수 등)

objdump -d a.out

# ELF 형식의 바이너리 파일 내부정보(섹션정보 등) 확인하기

readelf -l a.out

readelf -S a.out

참고로 위내용의 작업을 자유롭게 하시려면

ABI, 컴파일러, 인스트럭션, 함수호출규약, ELF 형식 등의 기본기가 필요합니다.


*관련 내용의 대한 교육을 리얼리눅스 교육과정 중 추천드린다면 ARM 임베디드 기초반을 추천드립니다.

*리얼리눅스 홈페이지 바로가기

https://reallinux.co.kr/

 

Real Linux | 최신트렌드 리눅스 전문교육|임베디드|서버

직장인을 위한 리눅스교육

reallinux.co.kr