/kaitai_struct_formats

Kaitai Struct: library of binary file formats (.ksy)

Primary LanguageHTML

Kaitai Struct: formats library

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;

Layout of repository

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 areas
  • executable — 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 engines
  • image — 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.