Пользователь может добавлять собственные сигнатуры файлов в
Файлы Известных Типов. Они будут добавляться в соответствующие
папки диалогового окна Типы Файлов.
Хранятся пользовательские сигнатуры в файле, заданном на вкладке Главная диалогового окна Настройки
.
Дополнительные возможности при создании собственных сигнатур
Файлов Известных Типов описаны в разделе Добавление Типов
Файлов-II.
Пример файла
сигнатуры
<?xml version="1.0" encoding="utf-8"?>
<FileTypeList>
<!-- Search for NTFS MFT -->
<FileType id="5626" group="System Files" description="MFT" features="TXT_ANSI TXT_UNICODE">
<Signature offset="0" from="begin" count="1">FILE</Signature>
<Signature offset="4" from="end" count="1">$\x00M\x00F\x00T</Signature>
</FileType>
</FileTypeList>
Структура
файла
Файл начинается со стандартного заголовка XML
<?xml version="1.0" encoding="utf-8"?>
<FileTypeList>
В конце обязательно должен находиться закрывающий тег
</FileTypeList>.
Ниже приведено описание атрибутов
данного элемента.
id
|
<u32>
|
Обязательный
|
Уникальный цифровой
идентификатор для каждого типа файла.
|
|
group
|
<string>
|
Необязательный
|
Задает группу типа файлов,
в которой будут находиться найденные файлы. Можно задать либо новую
группу, либо выбрать одну из тех, которые уже имеются в диалоговом
окне Типы Файлов.
|
По умолчанию:
unknown
|
description
|
<string>
|
Необязательный
|
Краткое описание
|
По умолчанию:
null (без описания)
|
features
|
NO_SCAN
TXT_ANSI
TXT_UNICODE
|
Необязательный
|
Дополнительные свойства
типа файлов. Если необходимо задать несколько свойств, то между
ними следует оставлять пробел.
|
По умолчанию:
0
|
extension
|
<string>
|
Необязательный
|
Расширение файла.
|
По умолчанию:
null (без расширения)
|
Флаги свойств типа файлов
NO_SCAN
|
Не для сканирования. При
использовании данного флага R-Studio не будет искать
данный тип файлов. Файлы данного типа будут показаны при сортировке
файлов по расширениям.
|
TXT_ANSI
|
Файл можно просмотреть как
текст в кодировке ANSI. При использовании данного флага файл может
быть корректно представлен как текст в кодировке ANSI. При
просмотре файлы данного типа будут сразу открываться в
Текстовом/Шестнадцатиричном
Редакторе.
|
TXT_UNICODE
|
Файл можно просмотреть как
текст в кодировке UNICODE. При использовании данного флага файл
может быть корректно представлен как текст в кодировке UNICODE. При
просмотре файлы данного типа будут сразу открываться в
Текстовом/Шестнадцатиричном
Редакторе.
|
Данный элемент может содержать неограниченное число элементов
Signature. Если есть
несколько элементов Signature, то это означает, что все эти
сигнатуры одновременно присутствуют в файле. Данные сигнатуры
должны иметь различные атрибуты offset и они не должны
пересекаться.
Элемент содержит строковую величину сигнатуры файла, состоящую
из символов ASCII, и шестнадцатиричные байты в формате \xhh , где hh - шестнадцатиричный байтовый код.
Если после \x отсутствует
шестнадцатиричное число, то \x обрабатывается как часть строковых
символов.
offset
|
<u16>
|
Необязательный
|
Десятичное смещение
сигнатуры
|
По умолчанию:
0
|
count
|
<u16>
|
Необязательный
|
Десятичное число,
определяющее число сигнатур одинаковой длины. Используется в том
случае, если в файле могут присутствовать несколько сигнатур одной
и той же длины, начинающиеся с одного смещения. В этом случае они
должны быть последовательно записаны в элемент, а
атрибур size
задает длину сигнатуры. Значение
count*size должно быть равно числу байт в элементе.
Если с одного смещения
может начинаться только одна сигнатура, то значение атрибута
count должно быть равно "1" и
size должен быть равен длине (число байт)
сигнатуры.
|
По умолчанию:
1
|
size
|
<u16>
|
Необязательный
|
Десятичное число,
определяющее число байт в сигнатуре.
|
По умолчанию: число байт в
элементе.
|
from
|
begin
end
|
Необязательный
|
Определяет, откуда
рассчитывается offset.
Если значение атрибута
равно end, то
offset рассчитывается с конца файла до первого байта
сигнатуры. Это означает, что если длина сигнатуры равна двум
байтам, то величина offset должна
быть равна 2.
|
По умолчанию:
begin
|
<!-- Comment string -->
Стандартная строка комментария XML .
|