我需要获取二进制文件使用的文件。
我可以在 .interp
部分查看 ELF 二进制文件的所有依赖项,但是我可以获得我的二进制文件的 conf 文件吗?
例如,如果二进制读取 /etc/host
,我想在我的 ELF 文件的一部分中看到 /etc/host
。
我在文档中没有看到: https://refspecs.linuxfoundation.org/LSB_1.1.0/gLSB/specialsections.html
最佳答案
I need to get files that some binary executable uses.
您无法获得(全部)它们。某些可执行文件使用的文件路径可以在运行时计算(这种情况很常见,想想cat(1) 程序)。解决这个问题(可靠地计算程序使用的所有文件)通常可以证明等同于 Halting problem .
然而,在实践中,strings(1)实用程序可能会帮助您猜测可执行文件引用的一些文件(静态)。
你也可以使用 strace(1)了解(动态)哪些文件是 open(2) - 在某些特定执行期间编辑。
另请仔细阅读可执行文件的文档。如果是free software , 研究其 source code .
关于二进制读/写的Linux elf二进制恢复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43933684/