我对 ELF 格式的工作原理或如何通过代码访问其标头和数据的知识为零,但是我需要检查 ELF 二进制文件是否已使用 UPX for Linux 进行压缩(打包?)。
strings
用我看到的字符串检查二进制文件,UPX!
所以我想我可以使用它。对二进制文件进行十六进制编辑会显示字符串,对于二进制文件中的位置,我可以假设它是 ELF 标头之一的一部分(如果我错了,请纠正我)。这是一个转储:
00000000 .ELF........................4...
00000020 ........4. ...(.................
00000040 ........................@...@...
00000060 @.....................[.UPX!....
00000080 ............T............?d..ELF
不知道好不好看,不好意思。
有谁知道如何在 Linux 上检测 UPX?如果没有,如何访问标题并获取该UPX!
字符串(标题的名称?)?
我确实查看了 UPX 源代码,但一切都是 C++,我正在寻找用 C 编写代码,这真的很难理解。
谢谢,欢迎任何帮助。
编辑:关于赏金。他们的回答必须给出一个可行的可靠示例,因为我尝试了不同的方法,但它们并不总是有效,如下面的示例。
谢谢