ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。
我在linux上的gcc手册(man gcc)中查找-c选项(gcc -c infile),其中指出: -c:编译或汇编源文件,但不链接。链接阶段根本不做...
我正在 Linux 操作系统上编写 C 和 C++ 代码,并且使用 GCC。完成我的代码后,我想生成一个 ELF 文件。我只能生成“a.out”文件,但我不需要它。我怎样才能...
libdl 中的链接映射是什么以及为什么它们会使我的应用程序崩溃?
最近我尝试构建一个复杂的C++应用程序。应用程序已构建。但是当我尝试启动它时,它因非法内存访问而崩溃。实际上它是带有偏移量的空指针。 我开始投资...
我有静态链接二进制文件(ELF 文件),它没有动态段、.dymsym 部分,并且不执行 LD_PRELOAD 命令等。 我如何创建假虚拟动态段来激活
“/usr/bin/google-chrome”不是 ELF 文件
我打算将 ltrace 用于某些应用程序,例如 chrome,但是当我使用它时,我收到以下错误消息。 “/usr/bin/google-chrome”不是 ELF 文件 有谁知道解决方案吗...
我的情况是,我只得到一个动态链接的、非剥离的 ELF 可执行文件,其中包含一些我想在自己的二进制文件中调用的函数(文本段中的符号)。 让我们考虑一个
鉴于所附代码,以及与此问题“.text 部分解析期间的全局缓冲区溢出”相关的代码,我想知道是否可以修改此代码以仅解析内存中的 .text 部分(
考虑以下程序: #包括 __属性__((noinline)) int add(int a, int b) { 返回a+b; } int add_external_def(int a, int b); int main() { 原则...
我正在实现一个Android应用程序,它在本机代码中读取加载到内存中的自己的代码。我对在磁盘上读取它不感兴趣,而是对正在运行的读取感兴趣。 外部字符 __ehdr_star...
我最近看到这篇文章,描述了 Linux 的最小可能的 ELF 可执行文件,但是这篇文章是为 32 位编写的,我无法获得在我的机器上编译的最终版本。
我最近看到这篇文章描述了最小的可能的 ELF 可执行文件,但是这篇文章是为 32 位编写的,我无法获得在我的机器上编译的最终版本。这个br...
从相应的 ELF 核心转储文件访问进程的内存映像的(正确)方法是什么?通过某种方式,我可以检查特定地址,例如 0x12345678。 请牢记
看到这个问题的大家好。我有个问题。首先,我目前正在内核中编写 ELF 阅读器,现在遇到一个问题。这个问题出在字符串上。我的意思是...
p_align 字段的具体用途是什么?每个在线来源都只说了一些模糊的内容,说段的“必需对齐”,或者只是说它是一个值,以便 p_...
p_align:ELF加载器如何处理两个可加载段占用同一虚拟页的可能性?
根据我的理解,程序头的“p_align”字段允许加载器轻松确定是否可以将文件页面简单映射到内存页面,以便加载一个部分。 哈...
如何完全摆脱 .dynsym、.dynstr 和 .dynamic 部分?
我有一个静态链接的二进制文件,我正在尝试缩小它的大小。我不明白为什么它会发出动态部分,而且我认为它不应该这样做。 我认为 -fpic -fPIC 应该摆脱所有
Linux 用户空间 api:如何在不解析 /proc/self/maps 的情况下获取作为 PIE 链接的正在运行的可执行文件的地址空间大小?
在 dl_iterate_phdr 的帮助下,我可以通过 dlpi_addr 加载主可执行文件和所有二进制文件的起始地址,它与我可以通过 printf 打印的函数指针地址相关,但是其他字段...
我正在尝试创建ELF格式标题编辑器。在开发过程中,我注意到在两个字节的二进制组中总是反转的。 例如,这是一个十六进制转储(我将其称为 hexdum...
我有以下ELF符号(在汇编文件中定义): .memory_info 部分的反汇编: 10000bb8 <__memory_info>: 10000bb8: 10000bd4 ldrdne r0, [r0], -r4 10000bbc:20000000 个...
我有以下ELF符号(在汇编文件中定义): .memory_info 部分的反汇编: 10000bb8 <__memory_info>: 10000bb8: 10000bd4 ldrdne r0, [r0], -r4 10000bbc:20000000 个...