2012-05-07 3 views
5

ELF 포맷은 가져온 기능의 이름을 어디에 저장합니까? PE 실행 파일과 같이 모든 가져 오기 이름을 열거 할 수 있습니까?ELF 바이너리로 이름 가져 오기

예를 들어, 바이너리가 printf을 사용하는 경우 바이너리 자체의 정적 분석을 통해 알 수 있습니다.

답변

7

ELF에서는 정의되지 않은 기호라고합니다. 당신은에 의해 정의되지 않은 기호 목록을 볼 수 있습니다 :

  • nm -D <file>|grep -w U

  • objdump -T <file>|grep "\*UND\*"

있는 도서관 제공하는 기호를 지정하지 않은 ELF 파일; ELF 바이너리에 링크 할 공유 라이브러리 목록을 추가하고 링커가 라이브러리에서 심볼을 찾을 수있게합니다.

+0

우리는 그 기능을 가진 공유 라이브러리를 얻을 수 없습니까? –

+0

정의 된 기호를 가져올 수도 있습니다. 어떤 심볼이 사용되는지 보려면 재배치 테이블을 봐야합니다. – ysdx

+0

@AnwarMohamed : ELF의 특정 공유 라이브러리에 묶여 있지 않기 때문에 아니요. – ysdx