Structure Kaitai 0.9


Structure Kaitai 0.9

Tout récemment, la prochaine version de Kaitai Struct 0.9 a été publiée - un langage de description et des outils pour analyser divers formats binaires (par exemple, les paquets réseau, les fichiers image/audio/vidéo, les bases de données, les archives, les conteneurs, etc.). Malgré le numéro de version 0.9 qui semble frivole, il s'agit d'une version majeure qui inclut les développements des 2.5 dernières années. Pendant ce temps, le langage s'est développé en toute une famille de projets :

Langue reconnu par GitHub et est maintenant utilisé dans plus de 400 projets gratuits/open source pour analyser toutes sortes de formats de données exotiques, allant de rétro-ingénierie des fichiers de données de jeu propriétairesjouir analyse des protocoles de communication par satellite.

Parmi les principales innovations du langage 0.9, il convient de souligner :

  • support des nouveaux langages cibles (Python via la librairie Construct, Nim, génération de documentation en HTML)
  • prise en charge complète du C++ moderne (pointeurs intelligents, pas besoin de gérer manuellement la mémoire, corrige toutes les fuites de mémoire connues)
  • prise en charge de l'adressage des types imbriqués via une syntaxe telle que foo::bar::baz
  • prise en charge de la validation des données lues selon les conditions décrites (valide)
  • calculer les tailles des structures de données statiques en octets et en bits (opérateurs sizeof et bitsizeof)
  • description formelle d'une langue sous la forme Schémas JSON, d'où maintenant la documentation est générée

Source: linux.org.ru