Viru kuerzem gouf déi nächst Versioun vum Kaitai Struct 0.9 verëffentlecht - eng Beschreiwungssprooch an Tools fir verschidde binär Formater ze analyséieren (zum Beispill Netzwierkpakete, Bild-/Audio-/Videodateien, Datenbanken, Archiven, Container, etc.). Trotz der frivol ausgesinn Versioun Nummer 0.9, ass dëst eng grouss Verëffentlechung déi Entwécklungen an de leschten 2.5 Joer enthält. Während dëser Zäit ass d'Sprooch zu enger ganzer Famill vu Projete gewuess:
- e Compiler deen Iech erlaabt e fäerdege Parser Quellcode a ville Programméierungssproochen ze kréien (C++, C#, Construct, Go, Java, JavaScript, Lua, Nim, Perl, PHP, Python, Ruby) aus engem Format Spezifizéierungsdatei (.ksy), souwéi Diagrammer am Format GraphViz a mënschlech liesbar Format Spezifikatiounen an HTML;
- Tools fir bequem Entwécklung vu Spezifikatioune mat simultan visueller Kontroll: Web IDE, Konsolvisualizer, Plugin fir Visual Studio Code, Hobbiten, Veles, Plugin fir Hiew, Plugin fir Binary Ninja;
- Moduler fir Kaitai Struct an de Montageprozess z'integréieren fir Maven, fir Gradle, fir Python, fir JavaScript / WebPack
- Format Bibliothéik, déi scho 156 Beschreiwungen an dëser Verëffentlechung huet (an 78 méi Formater sinn am Prozess vun der Pull Ufro Iwwerpréiwung).
- Bibliothéik vun Plug-in Kompressioun Algorithmen Kaitai Kompress
- Modul fir FUSE - Kaitai FS, wat Iech erlaabt eng Datei als Dateiesystem ze montéieren, mat der ksy Beschreiwung vu sengem Format
Sprooch vun GitHub unerkannt a gëtt elo a méi wéi 400 gratis / Open Source Projete benotzt fir all Zorte vun exotesch Dateformater ze analyséieren, rangéiert vun Reverse Engineering propriétaire Spilldatendateiencumming Analyse vun Satellit Kommunikatioun Protokoller.
Ënnert den Haaptinnovatiounen vun der Sprooch 0.9 ass et derwäert ze markéieren:
- Ënnerstëtzung fir nei Zilsproochen (Python iwwer d'Construct Bibliothéik, Nim, Generatioun vun Dokumentatioun an HTML)
- voll Ënnerstëtzung fir modern C++ (Smart Pointer, kee Besoin fir d'Erënnerung manuell ze managen, fixéiert all bekannte Memory Leckage)
- Ënnerstëtzung fir nestéiert Typen iwwer Syntax ze adresséieren wéi foo :: bar :: baz
- Ënnerstëtzung fir d'Validatioun vun Liesdaten no de beschriwwene Bedéngungen (gëlteg)
- d'Berechnung vun de Gréisste vu statesche Datestrukturen a Bytes a Bits (Gréisst vun a Bitsize vun Betreiber)
- formell Beschreiwung vun enger Sprooch an der Form JSON Schema, vun deem elo Dokumentatioun gëtt generéiert
Source: linux.org.ru