elf 相关问题

ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。

ELF,Build-ID,有没有实用程序可以重新计算它?

我在 ELF 二进制文件中发现了这个有用的功能——Build ID。 “它......(通常)是 ELF 映像中所有代码部分的 SHA1 哈希值。”可以使用 GNU 实用程序来读取它: $ readelf -n /bin/bas...

回答 3 投票 0

有没有办法让 Linux ELF 二进制文件具有可选的共享库依赖项而无需 dlopen()?

我有一个应用程序想要使用共享库(libwayland-client.so)(如果可用),但即使它不可用也仍然需要运行。 实现这一点的通常方法是使用 dl...

回答 1 投票 0

GNU ld 的 --audit 标志有什么作用?

我有一个应用程序,我想使用 Linux 提供的 rtld-audit 接口来挂钩共享库加载过程。如果我使用 LD_AUDIT 环境变量来电话,这会非常有用...

回答 2 投票 0

为什么 .data.rel.ro 部分在我的可执行文件中占用如此多的空间?

我想在Linux上构建一个共享库,其中包含一个大的初始化数组,并在不同的可执行文件中使用该数组。 我希望这可以减少编译输出的大小,特别是......

回答 1 投票 0

我的交叉编译器总是编译相同的文件[关闭]

我正在测试以确保我的交叉编译器正常工作。 当我编译 hello world 时,它似乎编译得很好,但是当我将 hello.cpp 更改为循环 elf 文件 1000 次的同一程序时

回答 2 投票 0

.文本节不是段的一部分,即使大小、偏移量和物理地址匹配

我正在用 Rust 编写一个编译器,现在正在尝试生成一个 elf。 我有 虚拟地址 0x400000 处的 .text 部分和文件偏移量 elf_header_size + elf_program_header_size + 3 *

elf
回答 1 投票 0

为什么 GNU `ld` 使用等效源与 NASM 和 GAS `.o` 文件有不同的输出?

在受许多关于小型 ELF 可执行文件的有趣文章启发进行一些实验时,我注意到 GNU 的 ld 在输入 nasm 生成的 .o 目标文件或 w...

回答 1 投票 0

当可执行文件不可访问时,gdb 也会显示 ELF 节名称

在我的 Linux 系统上,当 ELF 可执行文件本身无法从 gdb 访问时,gdb 也会显示调试的 ELF 可执行文件中的部分名称,因为它存在于文件系统挂载中...

回答 1 投票 0

为什么静态链接生成的可执行文件中会存在.got等与动态链接相关的节?

我正在学习链接,遇到一个问题。 如果我有一个源文件 main.c: int main() { 返回0; } 我用静态链接编译它: gcc -static -o a.out main.c 然后我发现...

回答 1 投票 0

如何使用二进制文件更新 ELF 文件中的部分

我正在使用 stm32cubeIDE 并尝试在二进制文件末尾存储 crc 以用于更新目的。我使用此方法是因为否则调试将无法工作,我必须将 .crc 区域标记为 NOLOA...

回答 1 投票 0

ELF文件的哪一部分必须加载到内存中?

可执行文件的ELF文件有一个程序(段)头和一个节头,可以通过readelf -a看到,下面是一个例子: 上面两张图是节标题和程序(se...

回答 2 投票 0

CSAPP 中的“未初始化的全局变量获得弱符号”这句话准确吗?

在计算机系统:程序员的视角(CSAPP)中,书中提到“未初始化的全局变量会得到弱符号”。经过一番实验,我发现这个描述似乎不合逻辑...

回答 1 投票 0

弱符号绑定和唯一符号绑定有什么区别?

c++17 内联变量将被 gcc 编译为唯一的符号。如果使用 clang 它将是一个弱符号。 我在 Oracle Linker 上找到了符号绑定的文档,但是我没有唯一的绑定...

回答 1 投票 0

pyelftools“幻数不匹配”但ELF幻数是正确的

所以我有这个函数尝试返回 ELF 的长度。我的用途是从内存转储中提取 ELF。 从 elftools.elf.elffile 导入 ELFFile def get_elf_size(start_loc,

回答 1 投票 0

为什么elf strip不能跨平台

我在我的树莓派上编译了一个 aarch64 elf 可执行文件: $ 文件 kbgen.elf.aarch64 kbgen.elf.aarch64:ELF 64 位 LSB 可执行文件,ARM aarch64,版本 1 (SYSV),动态链接,解释器 /...

回答 1 投票 0

Microsoft 编译器和 GNU 编译器在输出可执行文件大小方面的差异

假设我有以下程序: #包括 int main() { printf("这是一个示例 C 程序。 ”); 返回0; } 如果我用微软编译器编译它(cl.exe /O1 sa...

回答 2 投票 0

覆盖动态链接可执行文件的非动态部分中的符号

是否可以覆盖动态链接可执行文件的非动态段中的符号? (例如:Linux 上 ELF 可执行文件的 .text 和 .(ro)data 段。) 我知道这是 pos...

回答 1 投票 0

Objcopy --remove-section 不会留下与 --add-section 之前的原始文件相同的 ELF 二进制文件

我正在尝试使用 objcopy 在我的二进制文件中嵌入 GPG 签名,以便我可以在 Linux 系统上更新时验证它。 问题是,objcopy 似乎将对 ELF 二进制文件的修改留在...

回答 1 投票 0

如何从 elf 文件格式创建可执行的十六进制

我对此非常陌生,我有 elf 文件 input.out,需要从中创建十六进制可执行文件。我正在使用 objcopy 创建 intel 十六进制格式的可执行文件,如下所示 objcopy -O ihex input.out 或...

回答 3 投票 0

我如何能够在 C 语言中解析我的内核的 ELF 格式?

我正在尝试用 C 创建一个内核,我想知道如何解析 ELF 代码。关于我可以在哪里学习如何制作 ELF 解析器有什么建议吗?

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.