Estrutura Kaitai 0.9


Estrutura Kaitai 0.9

Muito recentemente, a próxima versão do Kaitai Struct 0.9 foi lançada - uma linguagem de descrição e ferramentas para analisar vários formatos binários (por exemplo, pacotes de rede, arquivos de imagem/áudio/vídeo, bancos de dados, arquivos, contêineres, etc.). Apesar da versão 0.9 de aparência frívola, esta é uma versão importante que inclui desenvolvimentos nos últimos 2.5 anos. Durante esse tempo, a linguagem cresceu em toda uma família de projetos:

Linguagem reconhecido pelo GitHub e agora é usado em mais de 400 projetos de código aberto/gratuito para analisar todos os tipos de formatos de dados exóticos, desde arquivos de dados de jogos proprietários de engenharia reversagozando análise de protocolos de comunicação via satélite.

Dentre as principais inovações da linguagem 0.9 vale destacar:

  • suporte a novas linguagens alvo (Python via biblioteca Construct, Nim, geração de documentação em HTML)
  • suporte completo para C++ moderno (ponteiros inteligentes, sem necessidade de gerenciar memória manualmente, corrige todos os vazamentos de memória conhecidos)
  • suporte para endereçar tipos aninhados via sintaxe como foo::bar::baz
  • suporte para validação de dados lidos de acordo com as condições descritas (válido)
  • calculando os tamanhos de estruturas de dados estáticos em bytes e bits (operadores sizeof e bitsizeof)
  • descrição formal de uma linguagem na forma Esquemas JSON, do qual agora documentação é gerada

Fonte: linux.org.ru