Доброго времени суток! Работаю над реализацией поиска сигнатур и их нечеткого поиска в моем hex-редакторе bvim на Си. Какой формат самих сигнатур выбрать? Что посоветуете почитать по теме? Ориентируюсь прежде всего на форматы файлов и данных в них, поскольку hex-редактор имеет направленность реверс-инжиниринга форматов данных, не дизассемблирование, как обычно.
Из открытых, можно взглянуть в IDA (убогий) - технология FLIRT, с поддержкой RegExp - ClamAV. А вообще говоря, формат вторичен и будет определяться возможностями поискового движка, требованиями по памяти и быстродействию. Если ожидается много-много похожих сигнатур с общим префиксом, то подходящей структурой хранения может оказаться дерево, иначе - хэш. Для хранения исходных данных с ручным редактированием ничего лучше plain text (X-way) не придумать.
XVilka В Линуксе есть команда file -она определяет тип файла, используя файл сигнатур magic. Достаточно обширная база данных и там же можно посмотреть методы построения сигнатур.