Rekin w strumieniu… czyli hakujemy Stream Decka

programistamag.pl 2 dni temu

Jak powszechnie wiadomo, jestem wielkim fanem koncepcji klawiatur makro: małych urządzeń, które pomagają automatyzować często powtarzane zadania. Jednym z pierwszych komercyjnych, zaawansowanych urządzeń tego typu jest Stream Deck zaprojektowany przez firmę Elgato, przejętą jakiś czas temu przez Logitecha. Wyposażony jest on w przezroczyste przyciski zamontowane ponad wyświetlaczem LCD, co pozwala każdemu z nich dynamicznie przyporządkowywać inne ikony.

Razem ze Stream Deckiem otrzymujemy również od Elgato odpowiednie oprogramowanie. Pozwala ono przyporządkowywać przyciskom akcje, organizować je w ekrany, te w foldery, a całe zestawy konfiguracji możemy również zamykać w profilach, które aktywowane są, gdy określona aplikacja przejdzie na pierwszy plan. jeżeli natomiast chodzi o możliwe do wywołania akcje, to razem z aplikacją otrzymujemy dosyć pokaźny ich zbiór, który w razie potrzeby możemy jeszcze rozszerzać dzięki pobieranych z internetowego sklepu wtyczek.

W większości przypadków oprogramowanie dostarczone przez producenta jest w zupełności wystarczające. Istnieją jednak takie sytuacje, w których korzystanie z tej pożytecznej klawiatury może okazać się znacząco utrudnione. Być może pracujemy w środowisku, gdzie dostępne jest wprawdzie środowisko programistyczne, ale instalowanie programów jest znacząco utrudnione lub wręcz niemożliwe? Albo też chcielibyśmy sterować pisanym przez siebie programem bezpośrednio, a nie za pośrednictwem zewnętrznego oprogramowania? Albo być może mamy zupełnie inny pomysł na wykorzystanie urządzenia z programowalnymi przyciskami? Lub – który to powód jest równie dobry jak wszystkie inne – chcemy po prostu dowiedzieć się, jak odbywa się komunikacja Stream Decka z oprogramowaniem na komputerze? W takich sytuacjach konieczne może okazać się podjęcie nieco bardziej… niekonwencjonalnych działań.

Naszą hakerską podróż odbędziemy w trzech etapach. Na początku konieczne będzie pozyskanie próbki komunikacji Stream Decka z dedykowanym oprogramowaniem. W drugim kroku przeprowadzimy analizę tejże próbki i spróbujemy rozszyfrować, w jaki sposób kodowane są przesyłane w obie strony dane. Na koniec spróbujemy napisać małą demonstracyjną aplikację, która nawiąże komunikację ze Stream Deckiem, wyświetli zdefiniowane ikony pod przyciskami oraz zareaguje na ich wciśnięcia.

Zabierzmy się więc do roboty...

Zagadnienia poruszane w tym artykule:

  • Wireshark;
  • Analiza pakietów;
  • Sterowanie.

Artykuł pochodzi z magazynu Programista nr 116 (1/2025). Szczegółowy spis treści wydania nr 116: https://programistamag.pl/programista-1-2025-116/

Autorem artykułu jest Wojciech Sura. Programuje 30 lat, z czego 15 komercyjnie; ma na koncie aplikacje desktopowe, webowe, mobilne i wbudowane – pisane w C#, C++, Javie, Delphi, PHP, JavaScript i w jeszcze kilku innych językach. w tej chwili pracuje w SII – największym w Polsce dostawcy usług doradztwa technologicznego, transformacji cyfrowej, Business Process Outsourcing i inżynierii.

Idź do oryginalnego materiału