问题标签 [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 投票
1 回答
270 浏览

objdump - 在 kcachegrind 中使用不同的 objdump

Kcachegrind 将默认使用默认的一个 objdump(从 ELF 获取 asm 代码)。

是否可以强制 Kcachegrind 使用不同的 objdump,例如/home/os_gx/local/bin/arm-linux/objdump

0 投票
2 回答
1345 浏览

objdump - 为什么有些可执行文件没有主要功能?

我“objdump -d”了一个可执行文件,例如 /bin/ls,我发现汇编代码中没有任何 main 函数。为什么?

0 投票
4 回答
6468 浏览

c - 缓冲区溢出攻击

我正在尝试执行一个非常简单的缓冲区溢出攻击。我对此几乎是新手。所以,如果这个问题很愚蠢,请原谅:-)

编码:

当我使用 objdump 获取函数地址时,我有以下内容:

现在,我想要的是从victim_func() 跳转到函数'confused()',方法是溢出那里的缓冲区,并将返回地址覆盖到confused() 的地址。我想从confused()返回到main中的printf()语句,然后正常退出。所以,我提供以下输入

尽管该程序从该 printf 语句中打印出“Done”,但它正在跳回victim_func() 并打印出“Enter n:”

我究竟做错了什么?任何帮助将不胜感激!

PS:我不确定我的问题是否正确。如果需要更多信息,请告诉我。

0 投票
1 回答
899 浏览

gcc - GCC 对用 C++ 编写的共享对象的正确可见性

我有一个用 C++ 编写的大型项目。它全部拆分为多个静态库,这些静态库最终链接到一个最终共享库,该共享库只需要导出几个简单的函数。

如果我对最终的 .so 执行 objdump,我会看到我所有的内部名称等。因为它使用长类名和命名空间,这些字符串变得过长,因此最终二进制文件很大。

所以,我的问题是如何正确使用 GCC 来确保所有这些内部函数都不会出现在最终的二进制文件中?

我知道所有这些 GCC 特定的可见性修饰符,我使用 -fvisibility=hidden -fvisibility-inlines-hidden,我使用 -Wl,--no-whole-archive。我禁用了 c++ 异常和 rtti (-fno-exceptions -fno-rtti),但我仍然无法让 GCC 生成我的最终 .so 它不包含我的命名空间和不应该存在的类的名称全部!

我尝试使用 -Wl,--version-script= 来控制哪些函数应该可见,但我仍然在最终剥离的共享对象中看到了很多内部名称。我在 SO 上阅读了多个类似的条目,但没有看到任何可以完成这项工作的内容。注意:我为多个平台(Linux、Windows、iPhone 等)编译,并且只在 VS 中的 Windows 上编译,我没有任何问题。

谢谢

0 投票
1 回答
602 浏览

x86 - 有哪些很好的资源可以帮助理解来自 `objdump` 的反汇编转储?

我想知道我可以从哪里开始理解这种格式的反汇编。我在 Windows 时代就对 OllyDbg 很熟悉,但这有点不同,我想降低语义。我正在谈论的部分示例objdump -d loops

谢谢

0 投票
1 回答
2746 浏览

ios - 在 binutils 中运行 objdump 时无法识别文件格式

iOS 项目中有一个 .a 库。我想查看其中的方法名称,所以我在 Mac 上安装了 binutils。但是当我运行 objdump [-h] xxx.a。它说:

“文件格式无法识别”。

那么,objdump 支持什么格式呢?以及如何在不使用 objdump 的情况下查看该 .a lib 中的方法?

0 投票
1 回答
125 浏览

c - 在 C 二进制文件中提取 _fini

我基本上是在寻找一种在二进制文件中提取 _fini 地址的方法。我能想到的天真的方法是使用 objdump 并解析 _fini。有没有更好的方法来做到这一点(例如不使用 objdump)。

谢谢!

0 投票
2 回答
2703 浏览

assembly - 尝试组装反汇编程序的输出(例如 objdump)

可能重复:
反汇编、修改然后重新汇编 Linux 可执行文件

我被告知组装和拆卸不是相反的。显然,您不能反汇编程序,将输出直接放入汇编程序,并期望它正确运行,因为信息丢失了。

我的问题是,为什么会丢失信息?另外,丢失了哪些信息?

0 投票
1 回答
3787 浏览

c++ - 通过 objdump 链接到没有头文件的 so 库

所以我有一个没有头文件的 .so 文件,我想编译代码和链接(长篇大论)

无论如何,我得到了 objdump 来输出解耦的标头

我得到这样的结果:

所以我知道这是一个错位的名字,我创建了一个这样的原型:

然后尝试调用 Calculate_Message_CRC 函数,但我总是以未定义的引用错误结束:

难道我做错了什么?如果没有供应商提供的标头,我还能如何链接到这个库?

0 投票
2 回答
4562 浏览

objdump - objdump,无偏移显示

转储可执行文件时,我只希望将代码段打印在标准输出上,而不是代码的偏移量和二进制形式。我无法从

有办法吗?