在 windows 中查找二进制文件

cru*_*ude 5 windows file-management

有没有办法在windows重命名后搜索可执行文件?假设 .exe 文件已重命名为 .txt 或 .jpeg 扩展名。

qua*_*ote 7

您可以使用Unixfile实用程序,它可以根据文件的内容告诉您文件的内容。您将需要Cygwin 环境或像GnuWin32UnxUtils这样的 win32-port 包。

以下是file工作原理:

# previously, e.exe was renamed to e.jpg
$ file e.jpg
e.jpg: MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit
Run Code Online (Sandbox Code Playgroud)

显然,您必须提供file一个文件名(或文件名列表)作为参数。你可以用这样做find,如果你知道大致所在的文件应该是,通过使用find和文件夹名称:

$ find <foldername> -type f -print0 | xargs -0 file
Run Code Online (Sandbox Code Playgroud)

如果将其与 结合使用grep,则可以去除非可执行文件:

$ find e-0.02718 -type f -print0 | xargs -0 file | grep executable
e-0.02718/e.jpg:          MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit
e-0.02718/e.linux:        ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
e-0.02718/e.sun4u56:      ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), stripped
e-0.02718/EXAMPLES:       Bourne shell script text executable
e-0.02718/makefile:       script text executable for make -f
Run Code Online (Sandbox Code Playgroud)

CygwinGnuWin32都提供filefind命令(通过filefindutils包)。

UnxUtils includes find,但我无法验证是否包含该file命令。该软件包似乎没有得到维护,因此 GnuWin32 可能是更好的选择。


Den*_*man 0

如果我理解你的话,好吧,不。

您仍然可以搜索文件名...

顺便说一句:为什么你可能会将 EXE 的扩展名更改为 txt、jpeg 等?它没有任何优势,并且会导致 txt 问题出现一堆无法使用的字符,而 jpeg 则导致“无法打开”。

(我会更改您的标签,使用“exe”或“搜索”之类的内容