ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。
我正在使用 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,
我在我的树莓派上编译了一个 aarch64 elf 可执行文件: $ 文件 kbgen.elf.aarch64 kbgen.elf.aarch64:ELF 64 位 LSB 可执行文件,ARM aarch64,版本 1 (SYSV),动态链接,解释器 /...
Microsoft 编译器和 GNU 编译器在输出可执行文件大小方面的差异
假设我有以下程序: #包括 int main() { printf("这是一个示例 C 程序。 ”); 返回0; } 如果我用微软编译器编译它(cl.exe /O1 sa...
是否可以覆盖动态链接可执行文件的非动态段中的符号? (例如:Linux 上 ELF 可执行文件的 .text 和 .(ro)data 段。) 我知道这是 pos...
Objcopy --remove-section 不会留下与 --add-section 之前的原始文件相同的 ELF 二进制文件
我正在尝试使用 objcopy 在我的二进制文件中嵌入 GPG 签名,以便我可以在 Linux 系统上更新时验证它。 问题是,objcopy 似乎将对 ELF 二进制文件的修改留在...
我对此非常陌生,我有 elf 文件 input.out,需要从中创建十六进制可执行文件。我正在使用 objcopy 创建 intel 十六进制格式的可执行文件,如下所示 objcopy -O ihex input.out 或...
我正在尝试用 C 创建一个内核,我想知道如何解析 ELF 代码。关于我可以在哪里学习如何制作 ELF 解析器有什么建议吗?
我正在查看这个小程序,其中内存使用情况是不可预测的,因为它运行的目录可能包含很少的文件或可能包含数千万个文件,并且需要...
PlatformIO:结合引导加载程序和应用程序映像的最佳方式
我正在为 stm32f4 目标使用两个不同的 Platformio 项目:引导加载程序和应用程序。最终,引导加载程序应该能够通过网络更新应用程序代码......
我正在学习 ELF 文件格式,想知道如何修补 ELF 文件。 这本书ELF_Format.pdf说: 虽然图中显示的是紧接在 ELF header 之后的程序头表,并且
如何从 ELF 文件中单独提取可加载程序头? 通过使用 readelf 检查二进制文件,可以获得类似于以下内容的输出: $ readelf -l 你好世界 Elf 文件类型是 EX...
在 Docker 容器内执行 AppImage 时出现 ENOENT
我有一个应用程序映像,我想在 docker 容器内使用 --appimage-extract-and-run 运行它。 当在 docker 容器内时,我无法提取应用程序映像(bash 失败:./prog.AppImage: No...
我正在努力使我的程序可扩展且可插入,它使用 dlopen 函数迭代包含共享库的目录以将它们加载为插件。 我想共享一个变量
我正在关注这篇文章,其中清楚地展示了如何将解释器添加到共享对象。 现在我正在尝试做同样的事情但不添加行 const char interp_path[] __attribute__((se...
引用手册页: 文件格式定义的所有数据结构都遵循 相关类别的“自然”尺寸和对齐指南。 如有必要,数据结构包含 ex...
我正在用 Rust 编写一个 x86_64 操作系统并在 qemu 电脑上测试它。我已经实现了 ELF 文件加载,并且我 100% 确定文件已正确加载和映射,因为我已经手动检查了内存。 我的问题...