Struktura Kaitai 0.9


Struktura Kaitai 0.9

Całkiem niedawno ukazała się kolejna wersja Kaitai Struct 0.9 - język opisu i narzędzia do analizowania różnych formatów binarnych (na przykład pakietów sieciowych, plików obrazów/audio/wideo, baz danych, archiwów, kontenerów itp.). Pomimo niepoważnie wyglądającej wersji 0.9, jest to główne wydanie, które zawiera zmiany, które miały miejsce w ciągu ostatnich 2.5 roku. W tym czasie język rozrósł się do całej rodziny projektów:

język rozpoznawane przez GitHuba i jest obecnie używany w ponad 400 projektach bezpłatnych/open source do analizowania wszelkiego rodzaju egzotycznych formatów danych, począwszy od Inżynieria wsteczna zastrzeżonych plików danych giercumming analiza protokołów komunikacji satelitarnej.

Wśród głównych innowacji języka 0.9 warto wyróżnić:

  • obsługa nowych języków docelowych (Python poprzez bibliotekę Construct, Nim, generowanie dokumentacji w formacie HTML)
  • pełne wsparcie dla nowoczesnego C++ (inteligentne wskaźniki, brak konieczności ręcznego zarządzania pamięcią, naprawia wszystkie znane wycieki pamięci)
  • obsługa adresowania typów zagnieżdżonych za pomocą składni takiej jak foo::bar::baz
  • obsługa walidacji odczytanych danych zgodnie z opisanymi warunkami (obowiązuje)
  • obliczanie rozmiarów statycznych struktur danych w bajtach i bitach (operatory sizeof i bitsizeof)
  • formalny opis języka w formie Schematy JSON, z którego teraz generowana jest dokumentacja

Źródło: linux.org.ru