필자는 elf 실행 파일을 수동으로 실행한다. 나는. 모든 섹션을 올바른 위치에로드하고, main()을 쿼리하고 호출합니다 (그리고 정리). 실행 파일은 정적으로 링크되므로 라이브러리를 연결할 필요가 없습니다. 또한 기본 주소를 제어하므로 가능한 충돌에 대해 걱정할 필요가 없습니다.리눅스 사용자 공간 ELF 로더
그럼, 거기에 어떤 라이브러리가 있습니까?
나는 oskit의 그 liboskit_exec을 찾았지만,이 프로젝트는 죽은 것으로 보인다 이후 2002 년내가으로 (물론, 라이센스를 존중) 프로젝트의 일부를 복용하고 내 필요에 재봉와 OK,하지만 난 리눅스 세계에서 멍청한 멍청 아. 그 부분을 어디에서 찾을 지조차 몰라. :)
추신. ARM 플랫폼 용으로 필요합니다.
UPD 글쎄,로드 elfs의 문제에 대한 좋은 지식 (한숨)을 요구하는 것, 그래서 나는 몇 가지 사양과 매뉴얼을 읽을거야. 그리고 저는 바이오닉/링커와 libelfsh에 충실 할 것입니다. 고마워요!
요약 결과 :
- 은 LibElf : http://directory.fsf.org/project/libelf/
- elfsh 및가 (지금 eresi의 일부) libelfsh : http://www.eresi-project.org/
- elfio (다른 ELF 라이브러리) : http://sourceforge.net/projects/elfio/
- OSKit 및 liboskit_exec (오래된) : http://www.cs.utah.edu/flux/oskit/
- 생체 공학/링커 : https://android.googlesource.com/platform/bionic
* bump * 나는 또한이 똑같은 문제가 (또한 ARM),하지만 또한 재배치를해야합니다. –