【问题标题】:Why most linux executable files are ET_DYN types in android system [duplicate]为什么大多数linux可执行文件在android系统中都是ET_DYN类型[重复]
【发布时间】:2018-04-10 05:24:12
【问题描述】:

通过在android系统中读取一个二进制文件的ELF头,我发现/system/bin下的可执行文件大部分都是ET_DYN,即共享库。例如,/system/bin/ls, lsmod, kill 文件的类型为 ET_DYN。在我看来,这些文件是可执行的,并且应该是ET_EXEC 类型。所以我的问题是:在android系统中,为什么Linux操作系统的可执行文件被编译成ET_DYN类型?

【问题讨论】:

    标签: android linux elf


    【解决方案1】:

    即共享库

    它们不是:它们是与位置无关的可执行文件。

    【讨论】:

    • 有没有办法通过ELF头区分可执行文件和共享库?
    • @shijunzhao 不,没有(至少对于PIE 可执行文件没有)。
    • 感谢您的回复。在android平台,我看到.so和exe的解释器是不同的,我可以通过它们的解释器来区分exe和.so吗?
    猜你喜欢
    • 2018-10-22
    • 2015-06-14
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2022-11-02
    • 2011-11-18
    • 1970-01-01
    相关资源
    最近更新 更多