【发布时间】:2017-12-27 11:09:51
【问题描述】:
我正在尝试从 Linux 程序的 elf 文件,甚至是它来自的 .o 文件中提取特定的字符串变量(即符号)。 它在 .rodata 部分,显然我知道符号名称。 是否有一系列 objdump 样式的命令和选项可以用来转储字符串?
更新:
例如,.map 文件包括:
.rodata.default_environment 0x000000001013f763 0x615 common/built-in.o
0x000000001013f763 default_environment
变量本身 - default_environment - 是一个标准的以空值结尾的文本字符串。
【问题讨论】:
-
您能否说明值在目标文件或源代码级别中的表示方式?正确的方法取决于此。
-
嗨,不确定显示它的最佳方式,但是,例如,.map 文件包括: .rodata.default_environment 0x000000001013f763 0x615 common/built-in.o 0x000000001013f763 default_environment 变量本身 - “default_environment " - 是标准的以空值结尾的文本字符串。 [抱歉 - 不明白如何简单地将文本粘贴到此处的回复中!]
-
您可以编辑您的帖子以包含此信息。了解
default_environment的源代码是什么样子也很有趣——它是一个数组还是一个指针。 -
const uchar default_environment[] = { "some text" };