logicmso
Analyze digital and analog captures from Saleae Logic MSO devices. Decode protocols like UART, SPI, I2C from exported binary files. Use when analyzing logic analyzer captures for CTF challenges, hardware reverse engineering, or protocol decoding.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Analyze digital and analog captures from Saleae Logic MSO devices. Decode protocols like UART, SPI, I2C from exported binary files. Use when analyzing logic analyzer captures for CTF challenges, hardware reverse engineering, or protocol decoding.
How to use
Sprawdź dostępność biblioteki saleae-mso-api, uruchamiając w terminalu polecenie: python3 -c "from saleae.mso_api.binary_files import read_file; print('saleae-mso-api is available')". Jeśli polecenie zwróci błąd, zainstaluj pakiet: pip install saleae-mso-api.
Przygotuj plik binarny z eksportu oprogramowania Saleae Logic (format .bin). Plik powinien zawierać zarejestrowane sygnały cyfrowe lub analogowe z Twojego urządzenia.
Wczytaj plik binarny do skilla, importując funkcję read_file z biblioteki saleae-mso-api i podając ścieżkę do pliku. Funkcja zwróci obiekt zawierający metadane (wersja, typ) oraz zawartość eksportu.
Uzyskaj dostęp do danych cyfrowych poprzez atrybut contents.chunks[0]. Z obiektu chunk możesz odczytać początkowy stan logiczny (initial_state), czasy przejść (transition_times), częstotliwość próbkowania (sample_rate) oraz czasy początkowy i końcowy rejestracji.
Oblicz czasy trwania impulsów, konwertując tablicę transition_times do różnic czasowych. Jeśli stan początkowy to 0 (LOW), indeksy parzyste reprezentują impulsy HIGH, a nieparzyste — przerwy LOW. Wynik możesz wyrazić w milisekundach lub sekundach w zależności od potrzeb analizy.
Wykorzystaj uzyskane dane do dekodowania protokołów komunikacyjnych (UART, SPI, I2C) lub analizy sekwencji sygnałów w kontekście inżynierii wstecznej lub wyzwań bezpieczeństwa.