|
|
1
4
这(很可能)已经为您处理好了。 当然,真正的答案取决于系统,但一般来说,现代操作系统(当然还有Linux)对可执行文件使用按需分页,因此实际上不会为您不引用的ELF文件部分分配RAM。 |
|
|
2
1
与其将blob链接到二进制文件中,不如将它们附加到二进制文件中。它们不会被映射,但您可以根据需要读取或映射它们。 |
|
|
3
1
有些答案有些误导,因为它们暗示整个二进制将被映射。不,那是错的。不是所有的东西都会被映射! 证明:
这是地图中仅有的两个部分。为什么?因为这些是唯一具有DT_荷载类型的:
您还将注意到,虚拟地址与ELF文件中定义的相同。
如果希望访问所有ELF部分,最简单的方法是映射整个文件。 |
|
|
4
0
不,如果它是ELF文件的一部分,它将被映射。我不确定ELF的细节,但如果这是一个PE文件,您可以简单地将添加的数据标记到PE文件的末尾,超出PE结构。不属于PE结构的数据不会映射到windows中的内存。我怀疑ELF中也存在同样的情况。 |