我需要学习有关ELF文件布局的知识,因为我正在开展一个项目。我注意到这些工具的存在。 为什么所有Linux发行版都包括readelf和objdump?这些工具互补吗?在什么情况下我更倾向于使用其中之一?
假设我们有一个名为libtest.so的共享库,它里面有一个名为"foo"的函数。 使用strip命令来丢弃libtest.so中所有的符号。$strip libtest.so 所以,现在如果我们使用:$nm libtest.so 它将打印出: nm: libtest.so: no sym...
我需要从一个已编译的C程序文件中获取全局符号。我使用的是Linux命令readelf -s filePath,当我使用该命令时,我得到以下结果: 我用蓝色矩形框出来,展示变量名没有正确显示。它们只能显示25个字符,如何才能显示完整名称?
我有一个libTest.so文件,但某些设备无法加载它,logcat没有任何有用的信息。 使用arm-linux-androideabi-readelf.exe -d libTest.so工具,我能够看到libTest.so所需的所有必要库。我将它们全部拉入到本地PC上相同的文件夹中。 我该...
作为尝试从零开始编写编译器的一部分,我目前正在处理处理ELF文件的部分。 经过阅读多篇文章和规范,我仍然不太明白节到段映射存储在哪里。 当观察使用NASM+ld生成的小型可执行文件时,我可以看到.text节被某种方式映射到LOAD类型的程序头上,但是如何实现呢? 给定一个小型(工作)可执行...
我正在尝试将一个 ELF 文件加载到我制作的 MIPS 模拟器中。我遇到的问题是我不太理解 ELF 节头偏移量背后的含义。当我进行段转储时,段 25-31 和 33-35 “开始”于 0x00000000,但头部表明段从某个值的偏移量开始(例如 010190)。另外,在 -S 节的开头,rea...
register_tm_clones和deregister_tm_clones引用了超出我的RW段结束地址的内存地址。这个内存是如何被追踪的? 示例:在下面的示例中,deregister_tm_clones引用了内存地址0x601077,但我们分配的最后一个RW段,.bss从地址0x6010...
我编写了一个程序,它可以正常运行。但是当我使用“readelf”检查是否存在调试信息时,出现了错误: readelf: Error: Not an ELF file - it has the wrong magic bytes at the start readelf: Error:...
问题场景: 简单来说,我们是否有Trace32命令可以从已加载到目标上的ELF文件中读取符号(及其内容)?我们有这种特殊情况,即将ELF文件的应用程序特定调试符号作为“ .noload ”部分的一部分制作,这意味着符号/内容是ELF文件的一部分(使用readelf -a xxxx.elf_fi...