Ho bisogno di fare una cosa piuttosto insolita: eseguire manualmente un eseguibile elfo. Cioè carica tutte le sezioni in posti giusti, interrogare main() e chiamarlo (e ripulire poi). Eseguibile sarà collegato staticamente, quindi non sarà necessario collegare le librerie. Controllo anche l'indirizzo di base, quindi non preoccuparti di possibili conflitti.Caricatore ELF per spazio utente Linux
Quindi, ci sono delle librerie per questo?
ho trovato oskit e la sua liboskit_exec, ma il progetto sembra essere morti dal 2002.
Sto bene con l'assunzione di parti di progetti (rispettando licenze, ovviamente) e adattandoli al mio bisogno, ma come ho Sono piuttosto un noob nel mondo linux, non so nemmeno dove trovare quelle parti! :)
PS. Ne ho bisogno per la piattaforma ARM.
UPD Bene, la questione del caricamento di elfs sembra richiedere una buona conoscenza (sospiro), quindi sono fuori a leggere alcune specifiche e manuali. E penso che resterò fedele a bionic/linker e libelfsh. Grazie ragazzi!
risultati illustrati:
- libelf: http://directory.fsf.org/project/libelf/
- elfsh e libelfsh (sono ora parte di Eresi): http://www.eresi-project.org/
- Elfio (un'altra libreria elf): http://sourceforge.net/projects/elfio/
- OSKit e liboskit_exec (obsoleto): http://www.cs.utah.edu/flux/oskit/
- bionico/linker: https://android.googlesource.com/platform/bionic
* bump * Ho esattamente lo stesso problema (anche su ARM), tuttavia devo anche effettuare il riposizionamento. –