它看起來像所有EXE文件以ASCII模式打開時都以MZ開頭,還有一個用於vbs,com和bat文件的ASCII標識嗎?我似乎無法找到一種模式...可執行文件 - 如何用ASCII標識它們
或者也許有另一種方法來識別它們?除了擴展...
它看起來像所有EXE文件以ASCII模式打開時都以MZ開頭,還有一個用於vbs,com和bat文件的ASCII標識嗎?我似乎無法找到一種模式...可執行文件 - 如何用ASCII標識它們
或者也許有另一種方法來識別它們?除了擴展...
沒有,真的沒有(Windows可執行文件可以代替開始MZ有PE或PK - 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供進一步閱讀。
TrID似乎有一個「獨立」的應用程序,你可能會使用和傳遞文件,並閱讀內容,看看它是什麼文件。它爲能夠將它傳遞給一個通用文件(擴展或不帶)而自豪,它使用文件頭來發現它實際上是什麼文件類型。
看看本教程是否有幫助(How to detect the types of executable files 3 part series)。他甚至已經提出了一步一步的算法如何做到這一點。