
Ce projet logiciel est le résultat d'un mémoire de licence créé chez SCHUTZWERK en collaboration avec l'Université d'Aalen par Philipp Schmied (@CaptnBanana).
Veuillez vous référer au billet de blog correspondant pour plus d'informations.
Pourquoi un autre outil CAN ?
- Conçu de zéro avec de nouvelles idées pour les mécanismes d'analyse
- Regroupe les fonctionnalités de nombreux autres outils en un seul endroit
- Modulaire et extensible : Lisez la documentation et implémentez vos propres mécanismes d'analyse
- Analyse confortable à l'aide d'une interface graphique
- Gérez le travail dans des projets séparés à l'aide d'une base de données
- Documentation : Lisez la documentation si vous avez besoin d'un manuel ou d'informations techniques.
Installation et exécution :
- Exécutez
sudo ./install_requirements.sh ainsi que sudo -E ./CANalyzat0r.sh. Cela créera un dossier appelé pipenv avec un environnement pipenv dedans.
- Ou utilisez simplement la version docker qui est recommandée actuellement (Vérifiez le fichier
README.md dans le sous-répertoire)
Pour plus d'informations, lisez la version HTML ou PDF de la documentation dans le dossier ./doc/build.
Fonctionnalités
- Maintenant avec le support CAN FD
- Gérez la configuration de l'interface (chargement automatique des modules noyau, gestion des périphériques SocketCAN physiques et virtuels)
- Support multi-interface
- Gérez votre travail dans des projets. Vous pouvez également les importer et exporter au format JSON lisible/modifiable par l'humain
- Journalisation de toutes les actions
- Reniflage graphique
- Support de base pour le fuzzing UDS
- Gérez les constatations, les vidages et les paquets connus par projet

- Copier-coller facile entre les onglets. Vous pouvez également coller vos fichiers SocketCAN dans un tableau qui permet le collage

- Envoi, Fuzzing et Reniflage multithreadés

- Ajoutez plusieurs threads d'analyse sur l'interface graphique
- Ignorer les paquets lors du reniflage - Filtrer automatiquement les paquets uniques par ID ou par données et ID
- Comparer les vidages
- Permet de configurer des configurations complexes en utilisant une seule fenêtre
- Organisation propre en onglets pour chaque tâche d'analyse
- Filtrage binaire des paquets avec randomisation
- Rechercher des paquets spécifiques à une action en utilisant le filtrage du bruit de fond

- Support SQLite
- Fuzzer et modifier les valeurs à la volée
Adaptateurs CAN fonctionnels
En général, tous les périphériques SocketCAN devraient être compatibles. CANalyzat0r a été développé et testé avec succès en combinaison avec USB2CAN pour le CAN classique et PCAN-USB Pro FD pour le CAN FD.
Le tester
Vous pouvez utiliser le Simulateur de Tableau de Bord pour bricoler avec un bus CAN virtuel sans avoir à connecter de vrais périphériques CAN à votre machine.
Dépannage
Fenêtres vides de l'interface graphique
Assurez-vous que la variable d'environnement QT_X11_NO_MITSHM est définie à 1. Lors de l'utilisation de sudo, veuillez inclure l'option -E afin de préserver cette variable d'environnement comme suit : sudo -E ./CANalyzat0r.sh.
Correction du style de l'interface graphique
Cette application doit être exécutée en tant que superutilisateur. En raison d'un manque de configuration, le style affiché peut être défini sur une valeur indésirable lorsque l'UID effectif est 0. Pour corriger ce comportement, suivez ces étapes :
Licence
Ce projet est sous licence GPLv3.