当前位置: 首页 > 面试题库 >

如何在Linux上检查ELF文件的数据部分的内容?

危晨
2023-03-14
问题内容

我一直在objdump查看Linux ELF二进制文件中的汇编代码。

有时会间接跳转到存储在rodata(只读数据)部分中的跳转表。

如何获取objdump或任何其他工具来向我显示此数据部分的内容?

我可以执行程序并检查调试器中的相关地址,但是我不想这样做,因为它必须以交互方式完成。

理想的答案将是找到一个不仅可以向我显示内容,而且可以让我控制显示格式的工具od


问题答案:
objdump -s -j .rodata exefile

给出该rodata部分内容的并排十六进制/可打印ASCII转储,例如:

Contents of section .rodata:
 0000 67452301 efcdab89 67452301 efcdab89  gE#.....gE#.....
 0010 64636261 68676665 64636261 68676665  dcbahgfedcbahgfe

看起来其中没有任何东西可以控制格式设置,但这只是一个开始。我想你总是可以取出十六进制并将其输入到od :)



 类似资料:
  • 来自文档:“当您使用传输管理器下载文件时,实用程序会自动确定对象是否为多部分” 来源:https://AWS . Amazon . com/fr/blogs/developer/parallelizing-large-downloads-for-optimal-speed/ 这意味着某处有指标(元数据?属性?)可以告诉你一个文件是否是多部分的。所以在用java SDK测试之前,我正在用AWS CL

  • 问题内容: 有没有办法查看配置单元大于等于0.11的orc文件的内容。我通常将cat gz文件解压缩,以查看其内容,例如:cat part-0000.gz | Pigz -d | 更多说明:pigz是并行的gz程序。 我想知道orc文件是否与此类似。 问题答案: 2020年更新的答案 : 根据@Owen的回答,ORC已经成长并成熟为自己的Apache项目。一个完整的ORC采纳者列表显示了现在它在多

  • 问题内容: 我需要能够向ELF文件添加任意部分。我无法在该程序中使用GPL代码,因此BFD成为不可能。我可以使用libelf / gelf来阅读节,但是这些文档很少,因此我无法弄清楚如何添加节。有人知道怎么做这个吗?我宁愿不编写自己的ELF代码。 问题答案: 关于ELF文件标头的问题有几个(可能)相关答案。提到的接受的答案用于将部分添加到ELF文件,并且BSD bintools 声称具有BSD许可

  • 问题内容: 我有一个大约400mb的电子邮件转储。我想将其拆分为.txt文件,每个文件中包含一封邮件。每封电子邮件均以指定文档类型的标准HTML标头开头。 这意味着我将不得不根据上述标题拆分文件。我如何在Linux中进行操作? 问题答案: 如果你有一个 跑来分裂 检查输出 如果你想这样做

  • 问题内容: 我没有创建正在使用的数据库,但是我想查看检查约束的详细信息。 我知道对列的检查约束正在强制执行一组特定值,并且我想知道这些值是什么。例如,如果检查约束强制使用字符“ Y”和“ N”,则我希望能够查询数据库并看到可接受的值为“ Y”和“ N”。 这可以通过查询来完成吗? 问题答案: 将在特定表上列出所有检查约束的检查和约束名称。

  • 问题内容: 我想从当前目录中的所有文件名中删除 test.extra 但是它抱怨没有找到file.echo是为了确保它正确列出。 问题答案: 首先使用“ sed -e”代替“ \ e” 我建议您用bash这样做