为什么大多数linux可执行文件在android系统中都是ET_DYN类型
通过读取android系统中二进制文件的ELF头,我发现/system/bin下的大多数可执行文件都是为什么大多数linux可执行文件在android系统中都是ET_DYN类型,android,linux,elf,Android,Linux,Elf,通过读取android系统中二进制文件的ELF头,我发现/system/bin下的大多数可执行文件都是ET_DYN,即共享库。例如,键入/system/bin/ls、lsmod、kill文件。在我看来,这些文件是可执行的,应该是ET_EXEC类型。所以我的问题是:在android系统中,为什么Linux操作系统的可执行文件被编译成ET\u DYN类型 i、 e.共享图书馆 它们不是:它们是位置独立的可执行文件。有没有办法通过ELF头来区分可执行文件和共享库?@shijunzhao没有(至少对于P
ET_DYN
,即共享库。例如,键入/system/bin/ls、lsmod、kill
文件。在我看来,这些文件是可执行的,应该是ET_EXEC
类型。所以我的问题是:在android系统中,为什么Linux操作系统的可执行文件被编译成ET\u DYN
类型
i、 e.共享图书馆
它们不是:它们是位置独立的可执行文件。有没有办法通过ELF头来区分可执行文件和共享库?@shijunzhao没有(至少对于
PIE
可执行文件没有)。谢谢您的回复。在android平台上,我看到.so和exe的解释器是不同的,我可以通过它们的解释器来区分exe和.so吗?