• Stars
    star
    702
  • Rank 64,499 (Top 2 %)
  • Language Kaitai Struct
  • Created over 8 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Kaitai Struct: format 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 Web IDE or 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;

Exploring this repository

If you want to explore the repository, please visit Kaitai Struct format gallery — that's HTML rendition of this repository, which block diagrams, all the code compiled for all possible target languages, provided with usage examples and instructions, etc, etc.

Alternatively, you can start with Web IDE — this library of formats also comes pre-loaded with it.

Contributing

See CONTRIBUTING.

Licensing

This repository contains work of many individuals. Each .ksy is licensed separately: please see meta/license tag and comments in every .ksy file for permissions. Kaitai team claims no copyright over other people's contributions.

More Repositories

1

kaitai_struct

Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
Shell
3,850
star
2

kaitai_struct_compiler

Kaitai Struct: compiler to translate .ksy => .cpp / .cs / .dot / .go / .java / .js / .lua / .nim / .php / .pm / .py / .rb
Scala
492
star
3

kaitai_struct_visualizer

Kaitai Struct: visualizer and hex viewer tool
Ruby
271
star
4

kaitai_struct_webide

Online editor / visualizer for Kaitai Struct .ksy files
TypeScript
264
star
5

awesome-kaitai

A curated list of Kaitai Struct tools and resources
186
star
6

kaitai_struct_python_runtime

Kaitai Struct: runtime for Python
Python
92
star
7

kaitai_struct_go_runtime

Kaitai Struct: runtime for Go
Go
68
star
8

kaitai_struct_cpp_stl_runtime

Kaitai Struct: runtime for C++ using STL
C++
66
star
9

kaitai_struct_csharp_runtime

Kaitai Struct: runtime for C#/.NET
C#
58
star
10

kaitai_struct_rust_runtime

Kaitai Struct: runtime for Rust
Rust
55
star
11

kaitai_fs

KaitaiFS: mount any filesystem specified with a .ksy as a real file system
Python
54
star
12

kaitai_struct_java_runtime

Kaitai Struct: runtime for Java
Java
41
star
13

kaitai_struct_javascript_runtime

Kaitai Struct: runtime for JavaScript
JavaScript
32
star
14

kaitai_struct_gui

Kaitai Struct: visualizer and hex viewer tool GUI in Java
Java
23
star
15

kaitai_struct_lua_runtime

Kaitai Struct: runtime for Lua
Lua
20
star
16

kaitai_struct_ruby_runtime

Kaitai Struct: runtime for Ruby
Ruby
18
star
17

kaitai_struct_doc

Kaitai Struct: documentation
CSS
16
star
18

ide-kaitai-io.github.io

Stable deployment of Kaitai Web IDE using GitHub pages - https://ide.kaitai.io/
JavaScript
14
star
19

kaitai_struct_tests

Kaitai Struct: tests in all supported programming languages
Ruby
13
star
20

ksy_schema

Kaitai Struct YAML (KSY) schema specification
12
star
21

ksylint

A linter for ksy files.
Python
11
star
22

kaitai_struct_php_runtime

Kaitai Struct: runtime for PHP
PHP
11
star
23

kaitai_struct_swift_runtime

Kaitai Struct: runtime for Swift
Swift
10
star
24

kaitai_struct_nim_runtime

Kaitai Struct: runtime for Nim
Nim
9
star
25

kaitai_compress

Kaitai Struct: data compression algorithms processing routines
Shell
9
star
26

kaitai_struct_loader

Webpack loader for kaitai-struct .ksy definitions
JavaScript
7
star
27

formats-kaitai-io.github.io

Rendered HTML pages repository powering http://formats.kaitai.io/ — generated from https://github.com/kaitai-io/kaitai_struct_formats/
HTML
6
star
28

java_bytecode.ksy

Java bytecode spec for Kaitai Struct
Ruby
6
star
29

kaitai-io.github.io

Kaitai Project homepage
HTML
6
star
30

edid.ksy

EDID (VESA Enhanced Extended Display Identification Data) structure for Kaitai Struct
Kaitai Struct
5
star
31

kaitai_struct_benchmarks

Kaitai Struct: benchmarking suite
Kaitai Struct
5
star
32

kaitai_struct_samples

Kaitai Struct: library of sample files for testing
Python
4
star
33

kaitai_ci_ui

Kaitai Struct CI UI
Vue
3
star
34

kaitai_struct_perl_runtime

Kaitai Struct: runtime for Perl
Perl
3
star
35

doc-kaitai-io.github.io

Rendered HTML pages repository powering https://doc.kaitai.io/ — generated from https://github.com/kaitai-io/kaitai_struct_doc/
HTML
3
star
36

dicom.ksy

DICOM (Digital Imaging and Communications in Medicine) file format spec for Kaitai Struct
Ruby
3
star
37

kaitai_struct_c_runtime

Kaitai Struct: runtime for C
3
star
38

ci_targets

Kaitai Struct CI: test .ksy files compiled into target languages
C++
3
star
39

kaitai_struct_typescript_runtime

Kaitai Struct: Runtime for Typescript
2
star
40

kaitai_struct_examples

HTML
2
star
41

coreldraw_cdr.ksy

CDR (CorelDRAW drawing) format specification for Kaitai Struct
Kaitai Struct
2
star
42

windows_resource_file.ksy

Windows resource file spec for Kaitai Struct
2
star
43

webide-usercontent.kaitai.io

HTML
1
star
44

kaitai_struct_docker_images

Docker containers that are sufficient to run relevant portion of Kaitai Struct tests for a particular target language
Dockerfile
1
star
45

ci-kaitai-io.github.io

ci.kaitai.io website
HTML
1
star
46

kaitai_struct_webide_vue

The kaitai struct webide completely rewritten from the ground up with vuejs and web components
Vue
1
star
47

ci_artifacts

Kaitai Struct CI: test run results
1
star