오늘은 항상 까먹는... 라이브러리 파일안에 있는 함수의 offset을 찾는 방법을 적어보려한다.
EFL 파일의 각종 정보를 보기 위한 명령이다.
// readelf -s [라이브러리 파일 경로] | grep [함수명]
readelf -s /lib/x86_64-linux-gnu/libc-2.27.so | grep system
readelf 명령어는 objdump와 같은 파일에 대한 다양한 정보를 표시하는 명령어이다.
이 중 -s 옵션으로 offset 값을 확인할 수 있다.
readelf -h 명령어로 옵션들을 확인할 수 있다.
-s의 경우, Display the symbol table이라고 적혀있는 것을 확인할 수 있다!
nm 명령어는 라이브러리, 컴파일된 오브젝트 모듈, 공유 오브젝트 파일, 독립 실행파일등의 바이너리 파일을 검사해서 그 파일 들에 저장된 내용 또는 메타 정보를 표시해준다.
다음은 nm 명령어를 이용하는 방법이다.
// nm -D [라이브러리 파일 경로] | grep [함수명]
nm -D /lib/x86_64-linux-gnu/libc-2.27.so | grep system
Memo 완료✌
※ 참고
👉 https://ko.wikipedia.org/wiki/Nm_(%EC%9C%A0%EB%8B%89%EC%8A%A4)