ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。
ELF 可执行文件中的节有一个虚拟地址,程序执行时将加载该节。 同样,可加载段也有它们的 vaddr,一个段将包含一个...
通过非默认构造函数构造一个全局变量,为什么可以分配到.bss段?
我写了两段cpp源代码,唯一的区别是一个文件指定了非默认构造函数,而另一个则没有: // `test1.cpp` 的代码 派生类 { 私人的: ...
是否有任何工具可以提供从共享对象文件中删除未使用的符号的功能(给定一组(>1)依赖于此共享对象文件的 ELF 文件)?我的目标是嵌入式
我正在使用 ctypes 为共享 Linux 库编写一个 Python 包装器。有没有某种方法可以以编程方式提取库的soname(例如,可能通过某些库来访问其ELF数据)...
我需要使用 gcc 生成一个简单的“Hello World”ELF32 可执行文件。 不过我似乎没有 gcc-elf 命令。 是否可以在不构建 gcc ag 的情况下创建 ELF 二进制文件而不是 a.out...
问题是在以下问题的上下文中:为什么找不到库,即使它们显然位于 -L 路径上? 。看来我的库和我的目标文件有不同的......
使用SWI-Prolog的qsave_program生成二进制文件有什么好处?
我一直在研究 Prolog 的 qsave_program 功能。我正在市场上寻找可以加速我的 Prolog 代码或可能允许与 C/C++ 集成的东西。 我用的是
LD.so 检测到 ELF 二进制文件不一致:dl-call-libc-early-init.c: 37: 断言 `sym != NULL' 失败
我在尝试使用 SPWN 或 Pwntools 运行二进制文件时遇到问题。这是上下文: SPWN 日志: [*] 二进制:baskin [*] Libc: libc-2.27.so [*] 加载器:ld-linux-x86-64.so.2 ...
如果我们没有sudo权限,如何在Linux服务器上安装Java?
我搜索了很多关于在没有 sudo 权限的情况下安装 Java 的问题,最后找到了这个解决方案。 按照上述解决方案后,我运行了以下命令: java版本 但得到了
升级编译器工具链时,_GLOBAL_OFFSET_TABLE 的符号类型错误
我们有一个旧的 powerpc-elf 工具链,可以正确创建 .elf 文件。 该编译器已经有 20 多年的历史了,在 Solaris 上运行,所以也许是时候升级了。 我们可以将我们的应用程序移植到最近的 gcc cross 上
Linux x86_64 上 PIE ELF 可执行文件的 .text 段的基虚拟地址
我看到加载到内存时与 -pie 参数链接的 ELF 文件的 .text 段位于虚拟内存地址中的某个位置,例如 linux x86_64 上的 0x00005xxxxxxxxxxx 。我检查了七个...
如何使用 C++ 获取 Linux 中 elf 二进制文件所需的所有动态库的列表? 一旦我设法从二进制文件中提取信息(文件名?),我就可以找到该行为...
在ELF二进制文件中,如何更改可加载段的对齐方式? 在下面的示例中(见右上角),我想将 0x200000 减少到 0x40960。 加载0x000000 0x000000400000 0x0000000000400...
根据规范,ELF 文件格式只能包含文件头,而不包含节头。我有一些(VMProtect 之后的 ELF)。我可以以某种方式添加节标题吗 - 我需要将我的 .note 信息写入此...
pwnlib.exception.PwnlibException:必须指定内核架构
嗨,我在 Intel arch 上有一个 32 位小端可执行文件,所以我使用 context.binary 并尝试 context.arch = vax 来解决这个问题,但两者都不起作用,我该怎么办? 代码贝尔...
我正在尝试使用 ARM GNU 工具链(目前版本 11.3)构建 ARM 应用程序。为此,我有一个主程序,需要链接到一个静态库 foo,该库传递依赖于
我试图找到全局变量存储在二进制执行(ELF)中的位置。 在我的最终上下文中,我的 exec 不是直接执行的,而是从另一个 dlopens 程序调用的,所以我不能使用
bash:没有这样的文件或目录(对于 Ubuntu 20.04 上的 32 位二进制文件)
我正在尝试在 x86_64 机器上的 Ubuntu 20.04 上运行较旧的 32 位二进制文件。以下是文件中二进制文件的配置文件: $ 文件 /usr/local/diamond/3.13/modeltech/linuxloem/vsim /usr/local/diam...
考虑 Linux 系统上的以下两个文件: 使用消息.cpp #包括 extern const char* 消息; 无效 print_message(); int main() { std::cout << message <<...
我在linux上的gcc手册(man gcc)中查找-c选项(gcc -c infile),其中指出: -c:编译或汇编源文件,但不链接。链接阶段根本不做...