peter@volta:~/.wine/drive_c$ file Program\ Files/Internet\ Explorer/iexplore.exe
..../iexplore.exe: PE32+ executable (GUI) x86-64, for MS Windows
peter@volta:~/.wine/drive_c$ file Program\ Files\ \(x86\)/The\ Master\ Genealogist\ v9/tmg9.exe
..../tmg9.exe: PE32 executable (GUI) Intel 80386, for MS Windows
如果这是最好的答案,如果你不经常使用命令行shell(就像我在Linux桌面上所做的那样)。 file适用于几乎任何类型的文件,例如ZIP,JPG,MP4,mkv,对于广泛使用的文件格式,它甚至会抓取一些额外的元数据,如JPG图像分辨率。(它不是基于文件名,它打开文件以查看元数据。通常前4个字节左右是一个“幻数”,表示文件的类型。) 对于纯文本格式,它有时可以使用启发式方法来区分HTML与纯文本,并识别UTF-8与UTF-16与ISO-8851与普通ASCII和DOS vs. Unix行尾等非常好的程序有周围,不只是可执行文件。
Microsoft (R) COFF/PE Dumper Version 14.11.25547.0 Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file C:\Users\justins\projects\random.exe
PE signature found
File Type: EXECUTABLE IMAGE
FILE HEADER VALUES
8664 machine (x64)
4 number of sections
5C0BB424 time date stamp Sat Dec 8 04:08:04 2018
0 file pointer to symbol table
0 number of symbols
F0 size of optional header
22 characteristics
Executable
Application can handle large (>2GB) addresses
5条答案
按热度按时间gzszwxb41#
可执行文件的体系结构写在COFF头的Machine字段中。您可以通过编程或使用十六进制编辑器手动检索它:
可以看到PE结构here。此处列出了有效的“计算机”字段值。
**编辑:**这里有一个C代码,它可以做到这一点,未经测试:
oyxsuwqo2#
Cygwin**
file foo.exe
**将根据文件格式幻数/元数据识别文件内容。(不是他们的文件名)。大概也可以从MinGW的源代码中获得或安装,并且可能附带任何MS's Windows Subsystem for Linux,WSL的发行版。这与大多数BSD和所有Linux发行版使用的the POSIX
file
command的开源实现相同。上游源为https://www.darwinsys.com/file/https://en.wikipedia.org/wiki/File_(command)显示了示例输出。我的Linux桌面上有几个Windows可执行文件:
如果这是最好的答案,如果你不经常使用命令行shell(就像我在Linux桌面上所做的那样)。
file
适用于几乎任何类型的文件,例如ZIP,JPG,MP4,mkv,对于广泛使用的文件格式,它甚至会抓取一些额外的元数据,如JPG图像分辨率。(它不是基于文件名,它打开文件以查看元数据。通常前4个字节左右是一个“幻数”,表示文件的类型。)对于纯文本格式,它有时可以使用启发式方法来区分HTML与纯文本,并识别UTF-8与UTF-16与ISO-8851与普通ASCII和DOS vs. Unix行尾等非常好的程序有周围,不只是可执行文件。
jjjwad0x3#
还将显示CPU体系结构和可执行文件的大地址感知状态,此工具随Visual Studio提供,并提供以下输出:
falq053o4#
我在PHP中为此创建了一个名为pearch的CLI实用程序
张贴在这里,因为它可能是方便的新人。
用途:
如果有人想将其移植到本地可执行文件,请继续
rbpvctlc5#
一个非常简单的方法来使用JavaScript:https://github.com/doctolib/windows-binary-architecture