看起来所有EXE文件在以ASCII模式打开时都以MZ开头,是否有为vbs,com和bat文件识别的ASCII?我似乎无法找到一种模式......
或许还有另一种方法来识别它们?除了扩展......
答案 0 :(得分:0)
TrID似乎有一个“独立”的应用程序你可以使用它并传入文件并读出内容并查看它是什么文件。它以能够传递一个通用文件(扩展或不扩展)为荣,它使用文件头来发现它实际上是什么文件类型。
答案 1 :(得分:0)
查看本教程是否有用(How to detect the types of executable files 3 part series)。他甚至提出了如何做到这一步的逐步算法。
答案 2 :(得分:0)
不,不是真的(Windows可执行文件可以在开头使用PE或PK而不是MZ - see this for other possible formats)。
对于其他类型的文件,您可以使用某些启发式方法(例如,GIF文件以“GIF89”开头,Bash shell脚本通常以#!/bin/bash
开头,BAT文件通常在开头执行@echo off
,VBS脚本在行的开头使用撇号作为注释标记),但它们并不总是100%可靠(文件可以是 BAT 脚本和Bash shell脚本;或文件这是一个有效的ZIP存档和有效的GIF图像(例如that stegosaurus image)。
参见例如this article进一步阅读。