Struttura Kaitai 0.9


Struttura Kaitai 0.9

Di recente è stata rilasciata la versione successiva di Kaitai Struct 0.9: un linguaggio di descrizione e strumenti per l'analisi di vari formati binari (ad esempio pacchetti di rete, file di immagini/audio/video, database, archivi, contenitori, ecc.). Nonostante la versione 0.9 dall'aspetto frivolo, si tratta di una versione importante che include gli sviluppi degli ultimi 2.5 anni. Durante questo periodo, la lingua è cresciuta in un'intera famiglia di progetti:

lingua riconosciuto da GitHub ed è ora utilizzato in più di 400 progetti gratuiti/open source per l'analisi di tutti i tipi di formati di dati esotici, che vanno da reverse engineering di file di dati di gioco proprietarivenendo analisi dei protocolli di comunicazione satellitare.

Tra le principali novità del linguaggio 0.9 è opportuno evidenziare:

  • supporto per nuovi linguaggi di destinazione (Python tramite libreria Construct, Nim, generazione di documentazione in HTML)
  • supporto completo per il moderno C++ (puntatori intelligenti, nessuna necessità di gestire manualmente la memoria, risolve tutte le perdite di memoria conosciute)
  • supporto per indirizzare tipi nidificati tramite sintassi come foo::bar::baz
  • supporto per la validazione dei dati letti secondo le condizioni descritte (valido)
  • calcolo delle dimensioni delle strutture dati statiche in byte e bit (operatori sizeof e bitsizeof)
  • descrizione formale di una lingua nella forma Schemi JSON, da cui ora viene generata la documentazione

Fonte: linux.org.ru