© 2021 R-Tools Technology Inc.
All rights reserved.
Синтаксис файла описания пользовательских сигнатур схож с языком XML. Хранятся пользовательские сигнатуры в файле, заданном на вкладке Главная диалогового окна Настройки .
Дополнительные возможности при создании собственных сигнатур Файлов Известных Типов описаны в разделе Добавление Типов Файлов-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>
В конце обязательно должен находиться закрывающий тег </FileTypeList>.
Элемент FileType
Ниже приведено описание атрибутов данного элемента.
Атрибуты :
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 и они не должны пересекаться.
Элемент Signature
Элемент содержит строковую величину сигнатуры файла, состоящую из символов 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 .