공유 객체에 유용한 메타데이터가 있나요? 그렇다면 어떻게 추출할 수 있나요?

공유 객체에 유용한 메타데이터가 있나요? 그렇다면 어떻게 추출할 수 있나요?

이라는 파일이 있습니다 mod_dav_svn.so. 이 파일이 사용자 정의 버전인지 표준 버전인지 알고 싶습니다.

Google에서 파일의 md5sum을 검색해 보았으나 결과가 없어 맞춤 컴파일된 것으로 나타났습니다.

이 파일에서 컴파일 시간/옵션/등과 같은 메타데이터를 추출하는 방법이 있습니까?

답변1

배포판의 패키지 관리자를 사용하여 패키지를 확인하여 파일이 원본인지 확인하세요. 예를 들어, rpm 기반 배포에서는 다음을 수행할 수 있습니다.

 # Find the full path to the file
 $ locate mod_dav_svn.so
 /usr/lib/apache/mod_dav_svn.so

 # Find out what package it belongs to
 $ rpm -qf /usr/lib/apache/mod_dav_svn.so
 apache-mod_dav_svn-1.6.16-1.i686

 # Verify that package to make sure the file hasn't been tampered with
 $ rpm -vV apache-mod_dav_svn
 ........     /usr/lib/apache/mod_dav_svn.so

이러한 점은 파일에 대한 모든 테스트가 정상임을 나타냅니다. 변경된 경우 체크섬 불일치, 날짜 변경, 크기 변경 등을 나타낼 수 있습니다.

답변2

첫 번째 단계는 file mod_dav_svn.so아키텍처와 ldd mod_dav_svn.so링크되는 라이브러리(및 버전)를 살펴보는 것입니다.

다음을 사용하여 인쇄 가능한 문자열을 검색할 수 있습니다.( strings mod_dav_svn.so).

다음 명령을 사용하면 읽을 수 있는 텍스트 로 많은 양의 정보를 표시 할 수 있습니다.객체 덤프. 검사 파일을 사용해 보십시오 objdump -s mod_dav_svn.so | less. 컴파일러가 어딘가에 단서를 남겼을 수도 있습니다.

관련 정보