2014-02-11 4 views
1

옳은 질문인지 아닌지는 모르겠지만, .so Linux 공유 라이브러리에서 "objdump -d"를 가져 와서 해당 패키지와 비교해보십시오. 그 라이브러리 .text 섹션은 패키지에 쓰여진 전체 코드를 정확히 반영하지 않는 것 같습니다. 맞아? 그렇다면 ELF 파일의 .text 섹션에 어떤 .c 및 .h 파일이 직접 나타나는지 어떻게 알 수 있습니까?리눅스 동적 공유 라이브러리의 텍스트 섹션

답변

1

.text 어셈블리 지시어, 그것은 개발자가 다른 한편으로는 컴파일러에 의해 추가 된 뭔가 gcc가 보통을 컴파일하기 전에 assembly의 코드를 변환 될 가능성이있어, 쓴 가능성이다.

readelf -S a.out 

그것은이 적어도, 유용한 무언가인지 아닌지 말하기 어렵다

objdump -d -j .text a.out 

단지 .text 부분을 분해하는 데 사용할 수있는 컴파일 된 객체에서 사용할 수있는 부분을 나열하려면 귀하의 구체적인 경우에는,하지만 확실한 것은 1 가지입니다.이 도구를 사용하는 방법과 컴파일 된 객체를 디버깅하는 방법을 배우려면 최소한 타겟에 대해 assembly을 먼저 배워야합니다.