Исполняемые файлы - как идентифицировать их в ASCII - PullRequest
2 голосов
/ 22 декабря 2010

Похоже, что все EXE-файлы начинаются с MZ при их открытии в режиме ASCII. Идентифицирован ли ASCII для файлов vbs, com и bat?я не могу найти шаблон ...

Или, может быть, есть другой способ их идентифицировать?кроме только расширения ...

Ответы [ 3 ]

0 голосов
/ 22 декабря 2010

Посмотрите, полезен ли этот учебник ( Как определить типы исполняемых файлов, 3 части серии ). Он даже представил пошаговый алгоритм, как это сделать.

Также смотрите этот пост: Как определить, является ли файл исполняемым?

0 голосов
/ 22 декабря 2010

Нет, не совсем (исполняемые файлы Windows могут иметь PE или PK в начале вместо MZ - , смотрите другие возможные форматы ).

Для других типов файлов вы можете использовать определенные эвристики (например, GIF-файлы начинаются с «GIF89», сценарии оболочки Bash обычно начинаются с #!/bin/bash, BAT-файлы часто выполняются @echo off в начале,Сценарии VBS используют апостроф в начале строки в качестве маркера комментария), но они не всегда надежны на 100% (файл может быть как BAT , так и сценарием оболочки Bash, или файлом, который одновременнодействительный ZIP-архив и действительное изображение GIF (например, , это изображение стегозавра ).

См., например, эту статью для дальнейшего чтения.

0 голосов
/ 22 декабря 2010

TrID , кажется, имеет "автономное" приложение, которое вы могли бы использовать, передать файл, прочитать содержимое и посмотреть, что это за файл.Он гордится возможностью передать ему общий файл (с расширением или без него) и использует заголовки файла, чтобы узнать, какой это тип файла на самом деле.

...