logicmso
Dekoduj protokoły z urządzeń Saleae Logic MSO — UART, SPI, I2C z plików binarnych
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umożliwia analizę sygnałów cyfrowych i analogowych zarejestrowanych przez analizatory logiczne Saleae Logic MSO. Wczytuj eksporty binarne, badaj przejścia stanów logicznych i dekoduj popularne protokoły komunikacyjne takie jak UART, SPI i I2C. Idealne do wyzwań CTF, inżynierii wstecznej sprzętu oraz dekodowania protokołów w projektach embedded. Skill wykorzystuje bibliotekę saleae-mso-api do pracy z danymi z urządzenia.
Jak używać
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.