
Dieses Softwareprojekt ist das Ergebnis einer Bachelorarbeit, die bei SCHUTZWERK in Zusammenarbeit mit der Hochschule Aalen von Philipp Schmied (@CaptnBanana) erstellt wurde.
Bitte lesen Sie den entsprechenden Blogbeitrag für weitere Informationen.
- Von Grund auf neu entwickelt mit neuen Ideen für Analysemechanismen
- Bündelt Funktionen vieler anderer Werkzeuge an einem Ort
- Modular und erweiterbar: Lesen Sie die Doku und implementieren Sie Ihre eigenen Analysemechanismen
- Komfortable Analyse mittels GUI
- Verwalten Sie die Arbeit in separaten Projekten mittels einer Datenbank
- Dokumentation: Lesen Sie die Doku, wenn Sie ein Handbuch oder technische Informationen benötigen.
Installieren und Ausführen:
- Führen Sie
sudo ./install_requirements.sh zusammen mit sudo -E ./CANalyzat0r.sh aus. Dadurch wird ein Ordner namens pipenv mit einer pipenv-Umgebung erstellt.
- Oder verwenden Sie einfach die Docker-Version, die derzeit empfohlen wird (siehe
README.md im Unterverzeichnis).
Für weitere Informationen lesen Sie die HTML- oder PDF-Version der Dokumentation im Ordner ./doc/build.
Funktionen
- Jetzt mit CAN FD Unterstützung
- Verwalten der Schnittstellenkonfiguration (automatisches Laden von Kernelmodulen, Verwalten von physischen und virtuellen SocketCAN-Geräten)
- Multi-Schnittstellen-Unterstützung
- Verwalten Sie Ihre Arbeit in Projekten. Sie können diese auch im menschenlesbaren/bearbeitbaren JSON-Format importieren und exportieren.
- Protokollierung aller Aktionen
- Grafisches Sniffing
- Grundlegende Unterstützung für UDS-Fuzzing
- Verwalten von Funden, Dumps und bekannten Paketen pro Projekt

- Einfaches Kopieren und Einfügen zwischen Tabs. Außerdem können Sie Ihre SocketCAN-Dateien direkt in eine Tabelle einfügen, die das Einfügen unterstützt.

- Thread-basiertes Senden, Fuzzing und Sniffing

- Hinzufügen mehrerer Analyse-Threads in der GUI
- Pakete beim Sniffing ignorieren - Automatisch eindeutige Pakete nach ID oder Daten und ID filtern
- Dumps vergleichen
- Ermöglicht das Einrichten komplexer Setups mit nur einem Fenster
- Saubere Organisation in Tabs für jede Analyseaufgabe
- Binäre Paketfilterung mit Randomisierung
- Suche nach aktionsspezifischen Paketen mittels Hintergrundrauschfilterung

- SQLite-Unterstützung
- Fuzzing und Werteänderung im laufenden Betrieb
Funktionsfähige CAN-Adapter
Im Allgemeinen sollten alle SocketCAN-Geräte kompatibel sein. CANalyzat0r wurde in Kombination mit USB2CAN für reguläres CAN und PCAN-USB Pro FD für CAN FD entwickelt und erfolgreich getestet.
Testen
Sie können den Instrument Cluster Simulator verwenden, um mit einem virtuellen CAN-Bus zu experimentieren, ohne echte CAN-Geräte an Ihren Rechner anschließen zu müssen.
Fehlerbehebung
Leere GUI-Fenster
Bitte stellen Sie sicher, dass die Umgebungsvariable QT_X11_NO_MITSHM auf 1 gesetzt ist. Wenn Sie sudo verwenden, fügen Sie bitte die Option -E hinzu, um diese Umgebungsvariable zu erhalten: sudo -E ./CANalyzat0r.sh.
Beheben des GUI-Stils
Diese Anwendung muss als Superuser ausgeführt werden. Aufgrund einer fehlenden Konfiguration kann der angezeigte Stil auf einen unerwünschten Wert gesetzt werden, wenn die effektive UID 0 ist. Um dieses Verhalten zu beheben, führen Sie die folgenden Schritte aus:
- Schneller Weg: Führen Sie
echo "[QT]\nstyle=CleanLooks" >> ~/.config/Trolltech.conf aus
- Alternativer Weg:
- Installieren Sie qt4-qtconfig:
sudo apt-get install qt4-qtconfig
- Führen Sie qtconfig-qt4 als Superuser aus und ändern Sie den GUI-Stil auf CleanLooks oder GTK+
- Oder verwenden Sie den Docker-Container
Lizenz
Dieses Projekt ist lizenziert unter der GPLv3.