
Un open-source et libre d'utiliser des fichiers exécutables Analyseur statique. Détecte une gamme de divers problèmes, qui sont généralement hors de portée d'autres outils (tels que l'analyse de code statique).
Site Web: https://binary-valentinentine.com
Documentation: https://binary-valentinentine.com/docs

System32 entier en 10-20 secondes. Binary Valentine ne prend actuellement en charge que le format exécutable portable (qui est largement utilisé sur Windows, EFI, X-Box). Pour ce format, il détecte divers problèmes:
Pour l'exécutable portable, plus de 180 règles sont actuellement fournies. La plupart des règles sont uniquement exécutables, mais certaines d'entre elles effectuent des analyses combinées (par exemple, les règles de vérification de cohérence inter-exécutables d'informations de version).
Un fichier de projet XML peut être fourni à la Saint-Valentin binaire, qui scannerait le projet en fonction des règles et filtres sélectionnés. Un projet peut contenir un ou plusieurs fichiers ou répertoires à numériser (avec des expressions régulières en option pour filtrer les noms de chemin). Chaque chemin ou fichier peut être configuré avec un ensemble distinct de règles appliquées, de niveaux d'avertissement et de catégories. En dehors de cela, les projets XML peuvent spécifier le format de sortie et les options d'exécution (par exemple, le nombre de threads et la limite de consommation de mémoire maximale). En plus de l'exécution basée sur les projets, la Saint-Valentin binaire peut être invoquée en fournissant tous les paramètres à sa ligne de commande.
Binary Valentine prend en charge plusieurs formats de sortie pour faciliter l'intégration avec d'autres systèmes. En plus de la sortie du terminal et du texte brut, il prend en charge le format d'interchange des résultats de l'analyse statique (SARIF) 2.1.0, qui est le format standard de l'industrie pour la sortie des outils d'analyse statique.
En plus de la ligne de commande, Binary Valentine fournit une interface utilisateur graphique entièrement en vedette, qui permet d'effectuer une analyse des fichiers exécutables en temps réel! Il s'agit également d'un éditeur de projet binaire de la Saint-Valentin, permettant de créer, modifier, enregistrer et charger des projets sans écrire manuellement XML.
La Saint-Valentin binaire peut être conçue pour une gamme de plates-formes avec un ensemble de compilateurs C ++ 20:
Windows 10/11 et moderne Linux (version du noyau 5.1 ou plus récent avec io_uring activé) sont pris en charge à partir d'aujourd'hui.
Pour une documentation détaillée de la ligne de commande, consultez le site Web: https://binary-valentinentin.com/docs/usage/command-line
General options:
-h [ --help ] Print options description
-c [ --config ] arg Path to external XML configuration file.
Can not be used with any other options.
-r [ --root-path ] arg Root path. This path will be used as a
root for all relative paths specified.
If absent, current directory will be
used as a root path.
--threads arg Analysis thread count. If absent,
hardware core number will be used.
--max-loaded-targets-size arg (=1G) Max loaded targets size. If specified,
the analyzer will preload as many
targets to analyze as possible until
their size in memory is less than the
value specified.Should have a numeric
value together with the suffix (B -
bytes, K - kilobytes, M - megabytes, G -
gigabytes), e.g. 2G for 2 gigabytes.
Can not be used together with
--max-concurrent-tasks.
Default is 1G.
--max-concurrent-tasks arg Max concurrent analysis tasks. If
specified, the analyzer will preload at
most max-concurrent-tasks targets for
analysis.
Can not be used together with
--max-loaded-targets-size.
Combined analysis options:
--do-combined-analysis arg (=1) Do combined analysis of all specified
targets. Default is true.
Targets options:
-t [ --target ] arg Target file or directory to analyze.
Required.
--recursive arg (=1) Scan and analyze the target directory
recursively. Default is true.
--include-regex arg Analyze only targets with full paths
which match the provided ECMAScript
regex.
--exclude-regex arg Analyze only targets with full paths
which do not match the provided
ECMAScript regex.
Report options:
--exclude-reports arg Exclude reports with the IDs listed. Can
not be used together with
--include-reports.
--include-reports arg Include only reports with the IDs
listed. Can not be used together with
--exclude-reports.
--list-reports List all supported reports with brief
descriptions.
--exclude-levels arg Exclude report levels (info, warning,
error, critical).
--exclude-categories arg Exclude report categories (system,
optimization, security, configuration,
format).
--with-progress Report verbose analysis progress
Output options:
--silent Do not output analysis results to
terminal.
-S [ --sarif ] arg Path to save the output report in SARIF
format.
-T [ --text ] arg Path to save the output report in
plaintext.