Articles of objdump

使用objdump进行ARM体系结构:反汇编到ARM

我有一个对象文件,并试图反汇编它。 当我使用: objdump -d example.o 我以elf64-x86-64的文件格式获得代码集。 我试图把这个反汇编成ARM,我该怎么做呢?

目标文件的objdump输出中的标志

在某个目标文件上有objdump的输出: $ objdump -h main.o main.o: file format elf32-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 0000000b 00000000 00000000 00000034 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .data 00000000 00000000 00000000 00000040 2**2 CONTENTS, ALLOC, LOAD, DATA 2 .bss 00000000 00000000 00000000 00000040 2**2 ALLOC 3 .note.GNU-stack 00000000 00000000 00000000 00000040 […]

如何在linux中使用objdump和bash函数在共享对象文件中find函数?

我有一个在Linux中的文件夹,其中包含几个共享对象文件(* .so)。 如何在linux中使用objdump和bash函数在共享对象文件中find函数? 例如,下面的例子在mylib.so中find我函数func1 : objdump -d mylib.so | grep func1 但是我想在包含共享对象文件的文件夹中findfunc1 。 我不知道bash语言和如何组合linuxterminal命令。

readelf与objdump:为什么都需要

我需要了解我正在处理的项目的ELF文件布局,并且注意到这些工具的存在。 为什么所有的Linux发行版都包含readelf和objdump? 这些工具是否相互补充? 我什么时候会喜欢用另一种呢?

ldd和objdump有什么区别?

我正在运行这两个命令,我得到不同的输出: $ ldd `which ls` linux-gate.so.1 => (0x00db3000) libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0x00ba2000) librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x007bf000) libacl.so.1 => /lib/i386-linux-gnu/libacl.so.1 (0x004ce000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00110000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00398000) /lib/ld-linux.so.2 (0x00dea000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00a83000) libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0x00d3d000) 接着 objdump -x `which ls` | grep NEEDED NEEDED libselinux.so.1 NEEDED librt.so.1 NEEDED libacl.so.1 NEEDED libc.so.6 那是怎么回事? […]

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

如何找出共享对象的哪些函数被程序或其他库使用? 在这个特定的情况下,我想看看/lib/libgcc1_s.so.1中的哪些函数被其他dynamic库使用。 由于它们是dynamic链接的,因此objdump -d不能parsing函数调用地址。 有没有办法在debugging器中运行程序或静态重新链接? 谢谢, 卢卡 编辑: nm和readelf不会这样做,我不需要看到哪些符号出现在共享对象中,但是实际上是在链接到它的其他对象中使用的。

Linux Mach-O反汇编程序

有没有可以反汇编OSX通用x86 / x86_64脂肪Mach-O二进制像objdump的任何Linux程序? GNU binutils的objdump支持ELF和Windows PE文件,但不支持Mach-O。

如何使用/安装GNU binutils(objdump)

我需要在Windows上运行的应用程序中使用objdump和readelf命令。 我知道我可以安装cygwin为了使用它们。 我不想使用cygwin的原因是因为我想把它作为部署的文章。 另外我不知道如何进行cygwin的沉默安装。 因此,我相信我所需要的是GNU Utilities For Win32作为链接状态这些库是无服务器的。 “可执行文件只依赖于Microsoft C运行时(msvcrt.dll)而不是像Cygwin工具提供的仿真层” 无论如何,一旦我去那个链接,我不知道如何安装它。 具体来说,我会喜欢使用>这个工具< 我将不胜感激,如果有人能指出我如何能够在我的应用程序中使用objdump和readelf(cygwin中的binutils)的正确方向。