This repository constitutes a library of ready-made binary file format
descriptions using Kaitai Struct language (.ksy
).
These formats can be useful for:
-
exploring a certain file format internals: one can load
.ksy
format + target binary in a visualizer and learn what's inside; -
as a production-ready binary file parsing library: they can be compiled with a Kaitai Struct compiler into source code in any supported target programming language;
-
as a starting point for learning applications of Kaitai Struct in real world;
To make it easier to navigate around multitude of formats, we sort them by the general purpose and application:
archive
— container files used by general purpose archivers applications to pack multiple files into one (e.g. zip, tar)common
— common data structures, widely reusable in many other areasexecutable
— files that contain executable machine code, runnable binaries, libraries, general purpose VM bytecode (e.g. DOS MZ, elf, Java class files)filesystem
— file systems, disc partitioning labels, everything related to file storage at kernel level (e.g. ISO 9660, ext2)game
— computer games / game enginesimage
— image formats, digital imaging (e.g. PNG, GIF, BMP)network
— formats used in network communications (e.g. Ethernet frame, IPv4 packet)
Formats that won't fit into any of these categories just reside in the root.