Технология идентификации и распознавания библиотеки, также известная как флирт, является идентификатором внутренних символов IDA, который ищет с помощью разборных двоичных файлов, чтобы найти, переименовать и выделять известные подпрограммы библиотеки. Флирт устраняет необходимость анализа функций, которые можно понять, просто читая документацию или исходный код из библиотеки, из которого она взяла, и уменьшает объем работы, необходимой для того, чтобы обратить вспять и понять двоичные файлы с ограниченными символами на значительную сумму.
Для получения дополнительной информации посетите: https://www.hex-rays.com/products/ida/tech/flirt/index.shtml
Вот упрощенная диаграмма на внутренней работе Flirt:
Вход в систему - это библиотечный файл (.LIB в Windows) из выбранной библиотеки, в то время как вывод - это подпись файл (.SIG), хранящийся под /SIG (и только там, иначе IDA не найдет его). Используя один из инструментов (PLB/PCF/PELF) (предоставленное здесь для оплаты клиентов), вы конвертируете все функции в библиотеке в подписи, хранящиеся в файле PAT (.pat). Последний этап в создании подписного файла включает преобразование сгенерированного файла PAT в файл .SIG, используемый IDA с использованием Sigmake. Проблема состоит в том, что иногда для подписей будут существовать столкновения, так как метод Hex-Rays использует не является доказательством дурака. Когда возникает ошибка, создается файл Exc (.exc). Чтобы игнорировать столкновения, просто отредактируйте этот файл, удалив первые несколько комментариев (строки, которые начинаются с ';') и повторно запустить Sigmake.
Для получения дополнительной информации загляните внутрь Readme внутри каталога Flair Tools.
Учитывая тот факт, что существует бесчисленное множество библиотек (оба открытого/закрытого источника), каждый из которых со своими бесконечными сборками/версиями, очевидно, что команда шестигранников не всегда может предоставить нам необходимые файлы подписи. Благодаря этому я создал этот репозиторий в надежде, что он служит центром для обратных инженеров, чтобы получить подписные файлы (и, надеюсь, загрузить тоже).
Любой может внести свой вклад в этот репозиторий, генерируя подпись файла для конкретной версии библиотеки (или нескольких!) И следуя правилам в соответствии с этикой.
В связи с тем, что существуют различные библиотеки/версии для управления, это требование, чтобы мы сортировали всю информацию самым простым способом, чтобы люди могли найти то, что они ищут с легкостью. Просто следуйте правилам ниже, и, надеюсь, все будет работать гладко:
Майкл Кирос