如何知道二进制文件是可执行文件还是库?

如何知道二进制文件是可执行文件还是库?

我有一个二进制文件,但是我怎么知道文件类型-lib 还是 exe?使用 notepad++ 打开它,它显示:

ELF 和许多随机符号。

答案1

这是一个 ELF 二进制文件,即基于 Unix 的系统上使用的二进制格式。

在十六进制编辑器中打开该文件。根据维基百科在偏移量 0x10 处,您应该会发现 e_type 字段有 2 个字节。您应该看到值为 1、2、3 或 4。

1 = 可重定位
2 = 可执行
3 = 共享
4 = 核心

您还可以研究使用读取为您提取此信息。您应该能够在 Cygwin 中运行它(尽管我个人还没有尝试过)。

相关内容