如何为 ClamAV 创建字节签名?

How can I create a byte signature for ClamAV?

我想从目标文件的 .text 部分中获取字节序列并将其转换为签名。我想用这个签名执行 ClamAV 的 clamscan 来找到包含相同字节序列的其他目标文件。 使用 objdump 字节序列如下所示:

此示例的字节序列可能如下所示:

55 48 89 e5 48 83 ec 10 bf 0a 00 00 00 e8 ?? ?? ?? ?? 48 89 45 f8 c9 c3

那个??作为占位符。

我没有找到使用 sigtool 的方法。是否有其他工具,或者我是否必须手动执行,如果是,我必须以哪种形式保存签名(签名数据库中的格式和数据库本身的格式)?

我不得不编写一个脚本来手动完成这项任务。我没有找到 sigtool 可以为我做到这一点的方法。脚本 运行 通过 objdump 并替换了变量字节。我将结果存储在一个数据库中,通过这个数据库,我可以使用二进制模式的 clamscan 识别哪个库是静态链接的(即使有人删除了库名称)。