LWN: Comments on "Some useful tools for binary formats" https://lwn.net/Articles/924133/ This is a special feed containing comments posted to the individual LWN article titled "Some useful tools for binary formats". en-us Fri, 17 Oct 2025 11:49:22 +0000 Fri, 17 Oct 2025 11:49:22 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Thanks https://lwn.net/Articles/924865/ https://lwn.net/Articles/924865/ buck <div class="FormattedComment"> Have to agree with a prior comment: Nice article!<br> <p> A whole ecosystem of tools i had no knowledge of<br> <p> Have enjoyed many of your past contributions as well, and appreciate their variety, clarity, deeply informative nature, and ubiquity of links. Please keep up the good work.<br> <p> (Which is to take nothing away from our humble editor and the rest of the crew, who continue to faithfully pound the kernel and software development beats, with like aplomb and trademark wit)<br> </div> Thu, 02 Mar 2023 06:47:07 +0000 Some useful tools for binary formats https://lwn.net/Articles/924837/ https://lwn.net/Articles/924837/ bartoc <div class="FormattedComment"> Yeah I was surprised this was left out, it's my goto when I need to mess around with binary formats because it's data specification mini-language is so terse but covers so much ground. It's also just really nice to be able to interactively get all kinds of different sorts of printouts. I kinda wish there was something like this "Katai Struct" program that used that instead of yaml, katai's yaml is so very verbose I almost feel like I'm not saving much time.<br> <p> Actually, I think ASN.1 is basically the ultimate language for binary format description, but it's really the kitchen sink and I don't know of any parser generator implementation that can really deal with the whole specification.<br> </div> Wed, 01 Mar 2023 21:52:35 +0000 Some useful tools for binary formats https://lwn.net/Articles/924804/ https://lwn.net/Articles/924804/ iabervon <div class="FormattedComment"> There's a similar point with libgcc: sometimes the compiler chooses to generate a call to a non-obvious implementation of a common pattern instead of a direct transformation of your source, and then the license of that implementation becomes relevant. Such things tend to be permissively licensed, so that the compiler is as widely useable as possible. On the other hand, things like regular expression libraries tend to have more runtime support and also tend to expect that a system will include the compiler and not just its output, so they don't tend to produce something that is only a derived work of the input to the compiler. So it can be a question of whether the project thinks of itself like GCC or libpcre as far as how some of the code is licensed.<br> </div> Wed, 01 Mar 2023 17:06:16 +0000 Some useful tools for binary formats https://lwn.net/Articles/924761/ https://lwn.net/Articles/924761/ sur5r <div class="FormattedComment"> I didn't mean to undermine your work, sorry if it sounded like that. It was just that my mind connected "Cutter" and "Reverse Engineering" with radare2 and I was trying to understand if it was related or just a name collision.<br> </div> Wed, 01 Mar 2023 14:26:10 +0000 Kaitai not (really) included in Fedora https://lwn.net/Articles/924759/ https://lwn.net/Articles/924759/ pebolle <div class="FormattedComment"> kaitai looks interesting. I wanted to play around with it on Fedora. Turns out there is only a python3-kaitaistruct package. Fedora doesn't seem to ship the ksc, the compiler.<br> <p> I guess Fedora doesn't ship the compiler because Fedora last contained SBT, the Scala build tool, in Fedora 29. That's about five years ago. And SBT is mentioned as a requirement for building the compiler. So I fear playing with this in Fedora requires a lot of yak shaving, involving a language (Scala) that I know only by name.<br> <p> Has anyone tried to do this nevertheless?<br> <p> (It's a bit odd that Fedora ships that Python package, because it apparently only allows you to run ksc generated Python code, but not to generate kaitai code by itself. As you seem to need that compiler to do that.)<br> <p> So my playing around with kaitai stopped after discovering that Fedora doesn't include the tools to do it easily. Which took me an embarrassing amount of time.<br> </div> Wed, 01 Mar 2023 14:17:55 +0000 Some useful tools for binary formats https://lwn.net/Articles/924758/ https://lwn.net/Articles/924758/ anton.kochkov <div class="FormattedComment"> We forked multiple years ago and there is a significant difference in the code and features. We aren't "just a fork" for quite a while. I recommend checking the blog articles to get a glimpse: <a href="https://rizin.re/posts/">https://rizin.re/posts/</a><br> </div> Wed, 01 Mar 2023 13:07:39 +0000 Some useful tools for binary formats https://lwn.net/Articles/924757/ https://lwn.net/Articles/924757/ donaldh <div class="FormattedComment"> The article says:<br> <p> <span class="QuotedText">&gt; the run-time libraries for the generated code use the MIT or Apache-2.0 license</span><br> <p> So, yes, it's just the libraries that the generated code needs, not the generated code itself. You can presumably license the generated code any way you like.<br> </div> Wed, 01 Mar 2023 11:24:15 +0000 Some useful tools for binary formats https://lwn.net/Articles/924754/ https://lwn.net/Articles/924754/ sur5r <div class="FormattedComment"> The "cutter" name left me confused at first, but it's indeed a fork of the radare2 stuff. Might be worth noting.<br> </div> Wed, 01 Mar 2023 08:16:40 +0000 Some useful tools for binary formats https://lwn.net/Articles/924752/ https://lwn.net/Articles/924752/ LtWorf <div class="FormattedComment"> Nice article!<br> <p> <span class="QuotedText">&gt; the generated code use the MIT or Apache-2.0 license. Thus generated code can even be used in proprietary applications.</span><br> <p> This had me confused. I was under the impression that generated code just carries the copyright of the source. Which is why gcc's output can have any license the author desires.<br> <p> But I guess the situation here is that the generated code links/imports a certain library that is using that license, rather than being under that license in itself.<br> </div> Wed, 01 Mar 2023 06:41:43 +0000 Some useful tools for binary formats https://lwn.net/Articles/924751/ https://lwn.net/Articles/924751/ anton.kochkov <div class="FormattedComment"> There is also a realm of working with the executable binary formats in UNIX-y way, not only the binary data formats. One good example is Rizin framework (and a Cutter Qt GUI to it). Apart from standard features for RE tool like disassembly, analysis, signatures, decompilation, binary diffing, it offers some of the features that are suitable for reversing data formats as well - inspecting raw data, calculating hashes, entropy inspection, magic search, diffing, and so on.<br> <p> See <a href="https://rizin.re">https://rizin.re</a> for more information. Disclaimer: I am one of the developers of the tool.<br> </div> Wed, 01 Mar 2023 04:49:38 +0000