Инструмент реверс-инжиниринга на Rust, который распознаёт функции в бинарниках по их поведению, а не по байтовому коду.
fnprint эмулирует каждую функцию бинарника с произвольными входными данными и превращает её поведение в отпечаток — такие отпечатки совпадают даже у функций из разных компиляторов и уровней оптимизации, в отличие от сигнатурных методов вроде FLIRT. Инструмент подбирает имена функций по размеченному корпусу и сравнивает две сборки, чтобы найти изменившиеся функции при анализе патчей уязвимостей. Пока поддерживает только x86-64 ELF.
Описание автора:match functions in binaries by what they do, not what their bytes look like. behavioral function fingerprinting via microexecution.