by djoldman on 10/14/25, 2:51 PM with 45 comments
by mturk on 10/23/25, 8:31 PM
I gave a guest lecture in a friend's class last week where we used Kaitai to back out the file format used in "Where in Time is Carmen Sandiego" and it was a total blast. (For me. Not sure that the class agreed? Maybe.) The Web IDE made this super easy -- https://ide.kaitai.io/ .
(On my youtube page I've got recordings of streams where I work with Kaitai to do projects like these, but somehow I am not able to work up the courage to link them here.)
by depierre on 10/24/25, 7:25 AM
The serialization branch for Python [1] (I haven't tried the Java one) has generally done the job for me, though I've had to patch a few edge cases.
One feature I've often wished for is access to physical offsets within the file being parsed (e.g. being able to tell that a field foo that you just parsed starts at offset 0x100 from the beginning of the file). As far as I know, you only get relative offsets to the parent structure.
0: https://github.com/anvilsecure/garmin-ciq-app-research/blob/...
by dgan on 10/23/25, 10:22 PM
by carom on 10/24/25, 1:59 AM
by okanat on 10/23/25, 9:05 PM
by whitten on 10/24/25, 2:25 AM
This seems to say flags is a sort of unsigned integer.
Is there a way to break the flags into big endiaN bits where the first two bits are either 01 or 10 but not 00 or 11 with 01 meaning DATA and 01 meaning POINTER with the next five bits as a counter of segments and the next bit is 1 if the default is BLACK and 1 if the default is WHITE ?
by theLiminator on 10/23/25, 8:31 PM
by zzlk on 10/23/25, 7:43 PM
by Everdred2dx on 10/23/25, 11:34 PM
I did NOT have fun trying to use Kaitai to pack the files back together. Not sure if this has improved at all but a year or so ago you had to build dependencies yourself and the process was so cumbersome it ended up being easier to just write imperative code to do it myself.
by metaPushkin on 10/24/25, 9:59 AM
by pabs3 on 10/24/25, 2:49 AM
https://github.com/dloss/binary-parsing
Personally I like GNU Poke.
by somethingsome on 10/24/25, 6:38 AM
by bburky on 10/24/25, 12:18 AM
Also, the newest Kaitai release added (long awaited) serialization support! I haven't had a chance to try it out.
https://kaitai.io/news/2025/09/07/kaitai-struct-v0.11-releas...
by jdp on 10/23/25, 7:58 PM
by Locutus_ on 10/24/25, 6:58 AM
I used Kaitai in a IoT project for building data ingress parsers and it was great. But not having write support was a bummer.
by Rucadi on 10/24/25, 7:07 AM
by kodachi on 10/24/25, 2:59 AM
by woodruffw on 10/23/25, 8:05 PM
Their reference parsers for Mach-O and DER work quite nicely in abi3audit[1].
[1]: https://github.com/pypa/abi3audit/tree/main/abi3audit/_vendo...
by setheron on 10/23/25, 8:35 PM
by sitkack on 10/23/25, 9:14 PM
by ginko on 10/23/25, 10:13 PM
by layoric on 10/23/25, 8:46 PM
by lzcdhr on 10/24/25, 1:36 AM
by casey2 on 10/24/25, 11:36 AM
highly recommended if you like functional languages
by imtringued on 10/23/25, 10:15 PM
DFDL is heavily encroaching on Kaitai structs territory.