2011-09-29 4 views
3

색인과 파일 (특정 형식)을 연결해야하는 요구 사항이 있습니다. 나는 ELF 조작을 할 수 있는지, 그리고 일관성이 유지되도록 보장하는지 궁금 해서요. 파일은 리눅스에서 잘 작동합니다. 여기서 아이디어는 특정 API [자체 정의]로 쿼리하여 색인을 생성 할 수있는 파일 형식을 만드는 것입니다.ELF 형식 조작

a) ELF 헤더를 수정하여 인덱스를 저장할 수 있습니다 (위에서 언급 한).

b) 그렇다면 프로세스는 무엇입니까?

+0

나는 오해한다고 생각합니다 : ELF는 실행 파일을위한 파일 형식입니다. 이 두 파일 중 하나가 실행 파일이 아니라면 잘못된 것을 묻고있는 것입니다. –

+0

당신은 매우 모호합니다. 색인에 남기고 싶은 것을 분명히 할 수 있습니까? ELF로 땜질을하는 것은 물론 가능하지만 더 많은 정보를 얻으면 더 많은 도움을받을 수 있습니다. –

+0

ELF 파일을 다시 컴파일 할 수 있습니까? 아니면 기존의 것을 사용해야합니까? – rodrigo

답변

7

기존 실행 파일에 원하는 데이터가있는 새 ELF 섹션을 추가 할 수 있습니다. 예 :

$ echo 42 > /tmp/index 
$ objcopy --add-section .my_index=/tmp/index /bin/ls myls 
$ objdump -s myls | tail 
. 
. 
. 

Contents of section .my_index: 
0000 34320a        42.  

libelf을 사용하여이 데이터를 읽을 위치를 파악할 수 있습니다.

+0

이것은 환상적인 대답입니다. 어떻게 하나의 'sigjuice'와 직접 연결됩니까? –