我怎么能告诉,像objdump ,如果一个对象文件已经build立了-fPIC ?
反正有这个可以做的吗? 我已经使用objdump,但是不会产生汇编输出,我知道任何汇编程序都会接受这个汇编输出。 我希望能够更改可执行文件中的指令,然后再进行testing。
我怎样才能告诉objdump在英特尔语法中发出程序集而不是默认的AT&T语法?
我一直在使用objdump来查看Linux ELF二进制文件中的汇编代码。 有时会通过存储在rodata (只读数据)部分中的跳转表进行间接跳转。 如何让objdump或其他工具向我显示这个数据部分的内容? 我可以执行程序并在debugging器中检查相关的地址,但是我不想这样做,因为它必须以交互方式完成。 理想的答案将会确定一个工具,它不仅能显示内容,还能让我控制显示格式,就像od一样。
我已经在我的系统上安装了一个二进制文件,并希望查看给定函数的反汇编。 最好使用objdump ,但其他解决scheme也是可以接受的。 从这个问题我知道,如果我只知道边界地址,我可能能够反汇编代码的一部分。 从这个答案我已经学会了如何将我的拆分debugging符号恢复成单个文件。 但即使在单个文件上运行,甚至可以反汇编所有的代码(即没有启动或停止地址,但objdump普通的-d参数),我仍然没有看到任何地方的符号。 这是有道理的,因为所讨论的function是静态的,所以不会被导出。 不过, valgrind会报告函数名,所以它必须存储在某个地方。 看看debugging部分的细节,我发现在.debug_str部分提到的名称,但我不知道一个工具,可以把它变成一个地址范围。
在下面使用objdump转储的汇编代码中: lea 0x0(%esi,%eiz,1),%esi 什么是注册%eiz ? 前面的代码是什么意思?