sigmatch
v0.2.0
Современная библиотека совпадений/поиска сигнатур C++ 20
??
или **
) и полубайтовые подстановочные знаки ( 1?
или *B
).reader
и target
позволяют выполнять поиск по большему количеству целей (например, пакетов сетевого трафика). Быстрый пример:
using namespace sigmatch_literals ;
sigmatch::this_process_target target;
sigmatch::search_result result = target.in_module( " **module_name** " ).search( " 1A ?? 3C ** 5* ?F " _sig);
for ( const std::byte *address : result.matches()) {
std::cout << " matched: " << address << ' n ' ;
}
Дополнительную информацию см. в разделе /examples.
executable_file_target
. sigmatch лицензируется либо по лицензии Apache-2.0, либо по лицензии MIT по вашему выбору.