问题标签 [objdump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
3113 浏览

assembly - 比较两个二进制文件

如何区分两个二进制文件?

我有一个程序的两个版本,版本 1 和版本 2。我在两个版本之间进行了少量更改,但不幸的是没有定期备份,所以虽然我有版本 2 的源代码,我只有版本 1 的二进制文件。我需要找出我在两个版本之间究竟做了什么改变。我尝试创建两个版本的 objdump,然后使用 diff 查找更改,但这不起作用,因为偏移量不同,因此 diff 认为几乎每一行都已更改。

例如,一行可能bgez v0,4074d0<daemonize+0xd4>在版本 1 和bgez v0,4073d4<daemonize+0xd4>版本 2 中。这些是直接从转储文件复制的 - 您可以看到这两行执行相同的操作,但 diff 无法区分它们。文件太大,我无法手动检查每一行;如何检测功能更改,同时忽略偏移量的差异?

0 投票
5 回答
24006 浏览

c - 如何找出共享对象的哪些函数被程序或其他库使用?

如何找出共享对象的哪些函数被程序或其他库使用?在这种特定情况下,我想查看 /lib/libgcc1_s.so.1 中的哪些函数被其他动态库使用。由于它们是动态链接的,因此 objdump -d 不会解析函数调用地址。有没有办法在调试器中运行程序或静态重新链接?谢谢,

卢卡

编辑:

nm 和 readelf 不会,我不需要查看共享对象中存在哪些符号,但实际上哪些符号在链接到它的其他对象中使用。

0 投票
2 回答
6553 浏览

objdump - objdump - 头部 ELF - 标志的含义?

$ objdump -f ./a.out

$ objdump -f 函数.o

标志是什么意思(标志0x00000011:或标志0x00000112:)?ELF 头文件中没有任何内容具有此标志。e_flag 包含 0。

有人知道他的意思吗?

谢谢

0 投票
1 回答
21074 浏览

c++ - 如何将 objdump 结果发送到文件?

我想在 Windows XP 中的可执行文件上运行 objdump,并想观察细节。但是,我无法找到在文本文件中输出结果的选项 - 因为控制台中的输出显示被截断(我也尝试使用选项 -o 或 /out 来指定 ooutfilename,但似乎不存在)

0 投票
0 回答
164 浏览

windows - 如何从优化的 Windows 二进制文件中大致了解故障转储中的函数跟踪?

我有一个从 Windows X86-64 二进制 (XXX) 生成的故障转储文件。

我有可执行文件。是否可以使用 objdump 或 dumpbin 将地址映射到函数名?

谢谢,纳迦

0 投票
3 回答
4729 浏览

gdb - 如何知道特定函数定义在哪个库中?

...

所以我知道freeaddrinfo是一个动态链接的函数,但是如何知道.so它是在哪个函数中定义的呢?

0 投票
2 回答
113 浏览

elf - .o 文件的哪一段包含函数 xyz?

考虑一个问题“abc.o 的哪一段包含函数 foo()?”

这是同一个问题吗

“ELF 的哪个部分包含这个函数 foo()?”

对不起..我知道这很愚蠢。我在这里有点困惑。

0 投票
2 回答
562 浏览

c# - 跟踪ac#程序的反汇编

我正在尝试使用 objdump 了解 ac# 程序的反汇编,因为我使用的是不显示反汇编的 vsiaul c# 2008 express edition。

我正在运行以下命令来获取输出:

因为我无法在反汇编输出中识别我的函数代码,所以我输入了一个值为 0x1234 的虚拟变量。

但是,我无法在生成的文件中的任何地方找到 1234 的值!我为 objdump 尝试了其他选项,如 -t 或 -T,但它说没有找到符号表。有人可以告诉如何使用 objdump 查看函数的反汇编,或者是否有其他免费工具?

编辑:我知道 MSIL disassmbler,我想知道等效的汇编语言..

0 投票
2 回答
1247 浏览

c - 为什么gcc输出机器码没有nop指令

每次我执行 objdump -d 时,我总是会看到带有成批 nop 指令的 asm 代码(什么都不做的指令)

例如采取同样的程序:

例如,objdump 在入口点的末尾有 2 个 nop

这只是众多示例之一,但您明白了。为什么 C 代码是这样编译的?提前致谢。

0 投票
3 回答
16100 浏览

linker - elf 文件中各节的虚拟地址和物理地址

objdump 如何计算 elf 部分的物理地址 (LMA)?据我所知,elf 节标题仅包含节 [1] 的虚拟地址 (VMA)。

通常,VMA 和 LMA 是相同的。但对于初始化数据段 (.data),VMA 是变量的 RAM 位置,LMA 是初始值所在的 ROM 位置。Crt0 负责在调用 main() 之前将初始值复制到 RAM 中。例如:

-汤姆

[1] http://www.ouah.org/RevEng/x430.htm