save progress

This commit is contained in:
StellaOps Bot
2026-01-03 00:47:24 +02:00
parent 3f197814c5
commit ca578801fd
319 changed files with 32478 additions and 2202 deletions

View File

@@ -0,0 +1,52 @@
// Copyright (c) StellaOps. All rights reserved.
// Licensed under AGPL-3.0-or-later. See LICENSE in the project root.
using StellaOps.BinaryIndex.Normalization;
namespace StellaOps.BinaryIndex.DeltaSig;
/// <summary>
/// Generates delta signatures from binaries for CVE detection.
/// </summary>
public interface IDeltaSignatureGenerator
{
/// <summary>
/// Generates signatures for specified symbols in a binary.
/// </summary>
/// <param name="binaryStream">Stream containing the binary data.</param>
/// <param name="request">Signature generation request.</param>
/// <param name="ct">Cancellation token.</param>
/// <returns>The generated delta signature.</returns>
Task<DeltaSignature> GenerateSignaturesAsync(
Stream binaryStream,
DeltaSignatureRequest request,
CancellationToken ct = default);
/// <summary>
/// Generates a signature for a single symbol given already-disassembled instructions.
/// </summary>
/// <param name="normalizedBytes">The normalized bytes of the symbol.</param>
/// <param name="symbolName">Name of the symbol.</param>
/// <param name="scope">Section containing the symbol.</param>
/// <param name="options">Generation options.</param>
/// <returns>The symbol signature.</returns>
SymbolSignature GenerateSymbolSignature(
ReadOnlySpan<byte> normalizedBytes,
string symbolName,
string scope,
SignatureOptions? options = null);
/// <summary>
/// Generates a signature for a single symbol with full CFG analysis.
/// </summary>
/// <param name="normalized">The normalized function with instructions.</param>
/// <param name="symbolName">Name of the symbol.</param>
/// <param name="scope">Section containing the symbol.</param>
/// <param name="options">Generation options.</param>
/// <returns>The symbol signature with CFG metrics.</returns>
SymbolSignature GenerateSymbolSignature(
NormalizedFunction normalized,
string symbolName,
string scope,
SignatureOptions? options = null);
}