ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。
我想通过ELF文件获取源代码路径&&源名称,.debug_str部分包含我需要的内容,但如何过滤掉它们?
我有一个 Cortex M MCU 的 ELF 文件,它是使用 GCC 生成的。我想知道是否有办法完成以下任务。我希望将一个新函数合并到 ELF 文件中。
如何将运行时地址从 /proc/pid/maps 映射到二进制可执行文件?
有了二进制可执行文件和从中产生的进程的 /proc/pid/maps,我想此时将运行时指令地址(可以由 gdb 或任何调试器检索)映射到
请耐心回答,因为我对这一切都是新手,并且希望我的基础知识百分百正确。我是一名机械工程师,所以不要苛刻。我正在学习一些非常基本的低级学习...
我正在尝试实现一个函数,该函数检索从调用者处展开的调用堆栈。 以下面的程序为例: // 测试.c void func2(int a, double b, int* c) { 我的_backtrac...
如我的标题中所述,我使用以下代码来获取输入并将其转换为整数,以非数字字符终止。它编译得很好,但不想运行。相反
我在 ELF 二进制文件中发现了这个有用的功能——Build ID。 “它......(通常)是 ELF 映像中所有代码部分的 SHA1 哈希值。”可以使用 GNU 实用程序来读取它: $ readelf -n /bin/bas...
有没有办法让 Linux ELF 二进制文件具有可选的共享库依赖项而无需 dlopen()?
我有一个应用程序想要使用共享库(libwayland-client.so)(如果可用),但即使它不可用也仍然需要运行。 实现这一点的通常方法是使用 dl...
我有一个应用程序,我想使用 Linux 提供的 rtld-audit 接口来挂钩共享库加载过程。如果我使用 LD_AUDIT 环境变量来电话,这会非常有用...
为什么 .data.rel.ro 部分在我的可执行文件中占用如此多的空间?
我想在Linux上构建一个共享库,其中包含一个大的初始化数组,并在不同的可执行文件中使用该数组。 我希望这可以减少编译输出的大小,特别是......
我正在测试以确保我的交叉编译器正常工作。 当我编译 hello world 时,它似乎编译得很好,但是当我将 hello.cpp 更改为循环 elf 文件 1000 次的同一程序时
我正在用 Rust 编写一个编译器,现在正在尝试生成一个 elf。 我有 虚拟地址 0x400000 处的 .text 部分和文件偏移量 elf_header_size + elf_program_header_size + 3 *
为什么 GNU `ld` 使用等效源与 NASM 和 GAS `.o` 文件有不同的输出?
在受许多关于小型 ELF 可执行文件的有趣文章启发进行一些实验时,我注意到 GNU 的 ld 在输入 nasm 生成的 .o 目标文件或 w...
在我的 Linux 系统上,当 ELF 可执行文件本身无法从 gdb 访问时,gdb 也会显示调试的 ELF 可执行文件中的部分名称,因为它存在于文件系统挂载中...
为什么静态链接生成的可执行文件中会存在.got等与动态链接相关的节?
我正在学习链接,遇到一个问题。 如果我有一个源文件 main.c: int main() { 返回0; } 我用静态链接编译它: gcc -static -o a.out main.c 然后我发现...
我正在使用 stm32cubeIDE 并尝试在二进制文件末尾存储 crc 以用于更新目的。我使用此方法是因为否则调试将无法工作,我必须将 .crc 区域标记为 NOLOA...
可执行文件的ELF文件有一个程序(段)头和一个节头,可以通过readelf -a看到,下面是一个例子: 上面两张图是节标题和程序(se...
CSAPP 中的“未初始化的全局变量获得弱符号”这句话准确吗?
在计算机系统:程序员的视角(CSAPP)中,书中提到“未初始化的全局变量会得到弱符号”。经过一番实验,我发现这个描述似乎不合逻辑...
c++17 内联变量将被 gcc 编译为唯一的符号。如果使用 clang 它将是一个弱符号。 我在 Oracle Linker 上找到了符号绑定的文档,但是我没有唯一的绑定...
所以我有这个函数尝试返回 ELF 的长度。我的用途是从内存转储中提取 ELF。 从 elftools.elf.elffile 导入 ELFFile def get_elf_size(start_loc,