Создание Собственных Шаблонов |
Вы можете сами создавать шаблоны. Пример шаблона с комментариями для анализа AVI файла. Синтаксис описания шаблона схож с языком XML. Файлы с шаблонами должны хранится в папке, заданной на вкладке Главная диалогового окна Настройки . Структура шаблона Заголовок шаблона Каждый шаблон начинается со стандартного заголовка <?xml version="1.0" encoding="utf-8"?> Элемент template Каждый шаблон начинается с элемента, где ему присваивается имя, показанное в области анализируемых данных. Атрибуты:
Пример: <template name="AVI File LIST"> ........ </template> Элемент signature Атрибуты:
Элемент содержит элементы field, значениями которых являются шестнадцатиричные коды сигнатуры. В атрибуте offset указывается смещение относительно начала записи. Длина поля соответствует числу шестнадцатиричных значений. Пример: <signature align="1"> <field offset="0">46 49</field> <field offset="2">4c 45</field> </signature> Элемент section В данном элементе содержатся все выражения и операции, необходимые шаблону для анализа данных. Имя section показано в области анализируемых данных. На самом деле sections это виртуальные объекты, используемые для группировки логически связанных fields. Sections могут составлять гнездо. Главная section не показана в области анализируемых данных. В элементе присутствуют элементы field, которые являются реальными объектами с данными. Имена field показаны в области анализируемых данных вместе с их величинами. Атрибуты:
Пример: <section name="JUNK"> .... </section> Список Всех Объектов в Шаблонах Типы данных (поле field)
Подтипы: int8 int16 int32 int64 uint8 uint16 uint32 uint64 uintX Атрибуты:
Атрибуты:
Атрибуты:
Показывает время в формате Win32 (64 бита)
Показывает время в формате Unix (секунды с 01/01/1970)
Показывает время в формате DOS format (дата: hiword, время: loword)
Атрибуты:
Команды
Переход по указанному смещению (абсолютному или относительному) Атрибуты:
Всегда указывается только один из этих атрибутов.
Вычисляет условие, заданное в атрибуте test, и читает указанные внутри этого тэга поля, если условие истинное. Атрибуты:
Читает указанные в тэге поля заданное число раз или пока условие выхода не равно нулю Атрибуты:
Устанавливает значение внутренней переменной. Например, эту команду удобно использовать для сохранения текущего смещения. Значение текущего смещения хранится в предопределенной переменной offset. Attributes:
Выражения Выражения в шаблонах представляют собой арифметическое выражение с синтаксисом, аналогичном языку C (это касается и приотитета операций). Поддерживаются следующие операции: + - * / & | > < <= >= != == || && Предопределенные переменные
Смещение, по которому в настоящий момент осуществляется чтение. В байтах относительно начала шаблона.
Абсолютная позиция начала шаблона. offset + start_position = абсолютное смещение.
Данная переменная существует только в контексте вычисления выражения ass-offset и является текущим значением поля данных, для которого задано это выражение |