如何轻松查找Linux二进制ELF格式文件的直接共享对象依赖关系? 我知道ldd工具,但它似乎输出了二进制文件所有的依赖项,包括它所依赖的任何共享对象的依赖项。
我刚刚安装了CentOS 6的64位版本,现在想在这个64位机器上安装32位应用程序,但是出现了如下错误: /lib/ld-linux.so.2: 坏的ELF解释器:没有那个文件或目录 我该如何解决这个问题?
我正在Ubuntu 9.10 x86_64上安装一个二进制Linux应用程序。该应用附带了一个旧版本的gzip(1.2.4),它是为一个更旧的内核编译的:$ file gzip gzip: ELF 32-bit LSB executable, Intel 80386, version 1 (...
我有一个旧的可执行文件,虽然它现在还没有被淘汰,但它依赖于一些已从我的环境中删除的库。不过我在某个地方有一些存根库,它仍能正常工作。我想将该可执行文件指向这些存根库。是的,我可以设置LD_LIBRARY_PATH,但这个可执行文件会被许多脚本和用户调用,所以我希望在一个地方修复它。 我没有这...
我正在为学校的一个nodejs项目工作。 我无法使用npm安装bcrypt,所以我安装了bcrypt-nodejs,而且昨天该项目运行良好。 但是今天,当我执行“node app”时,我遇到以下错误:/.../node_modules/bcrypt/node_modules/bindings/...
我在我的系统上安装了一个二进制文件,并想查看给定函数的反汇编代码。最好使用objdump,但其他解决方案也可以接受。 从这个问题中,我了解到如果我只知道边界地址,就可以对代码的一部分进行反汇编。从这个答案中,我了解到如何将我的拆分调试符号转换回单个文件。 但是,即使在单个文件上操作,即使反...
有没有人知道如何使用GCC将任何资源文件静态编译到可执行文件或共享库中? 例如,我想添加永远不会更改的图像文件(如果它们发生变化,我也必须替换文件),并且不希望它们留在文件系统中。 如果这是可能的(我认为这是可能的,因为Windows的Visual C++也可以做到这一点),那么我该如何加载存...
我一直在使用objdump来查看Linux ELF二进制文件中的汇编代码。 有时会通过存储在rodata(只读数据)部分中的跳转表进行间接跳转。 如何让objdump或其他工具显示我这个数据段的内容? 我可以执行程序并在调试器中检查相关地址,但我不想这样做,因为必须以交互方式完成。 最...