Kaitai Struct
tablib
Our great sponsors
Kaitai Struct | tablib | |
---|---|---|
44 | 2 | |
3,828 | 4,524 | |
1.6% | 0.9% | |
7.5 | 7.0 | |
8 days ago | 18 days ago | |
Shell | Python | |
GPL-3.0-or-later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Kaitai Struct
- Reverse-engineering an encrypted IoT protocol
-
Parsing an Undocumented File Format
- ImHex [2], which has a pattern language [3] which allows parsing, and it seems more powerful than what Kaitai offers. I stumbled upon some limitations with it but it was still useful.
[1]: https://kaitai.io/
- Kaitai Struct – a declarative language used to describe binary data structures
-
HTTPie Desktop: cross-platform API testing client for humans
Beautiful. Didn't know something like this exists. Reminds me of Katai[0]
[0]. https://kaitai.io/
-
Hacking the LG Monitor's EDID
An EDID override like this would be helpful for macOS as well, where the monitors swapping around after standby is a real annoyance [0] [1]
EDID rewrites are 99% of the time blocked by the monitor firmware: https://notes.alinpanaitiu.com/Decoding-monitor-EDID-on-macO...
By the way, one helpful tool that helped me navigate the EDID dump was Kaitai Struct [2]. It shows a side by side view with the hex view and the EDID structure, and it highlights the hex values in real time as you navigate the structure. Unfortunately [3] it doesn't support the extension blocks that the author needs.
[0] https://notes.alinpanaitiu.com/Weird-monitor-bugs
[1] https://forums.macrumors.com/threads/external-displays-swapp...
[2] https://kaitai.io/
[3] https://github.com/kaitai-io/edid.ksy
- Kaitai Struct: new way to develop parsers for binary structures
-
Fq: Jq for Binary Formats
Kaitai Struct might be a good choice for that: https://kaitai.io/
-
Ingesting, parsing and making sense of device log data
For binary log format, there's the excellent Kaitai Struct frameworks, that make it very easy to generate parsers from a declarative schema
-
What is this tool? More info in comments
kaitai
-
Visual Programming with Elixir: Learning to Write Binary Parsers (2019)
https://kaitai.io/
Worth a look if you are writing binary parsers.
tablib
-
Is this possible with Python?
other than Pandas, you can also use tablib. I personally find tablib to be slightly easier but it doesn't have as many features. But for what you need, tablib might be best
-
Fun with File Formats
There are two problems leading to the decision of only accepting public domain info: licensing and provenance.
"Licensing" is hard. The "Open Specifications Promise" [1], which covers a bunch of Microsoft-designed file formats, is merely a covenant not to sue.
"Provenance" is tricky. For example, much of the knowledge of the Apple iWork formats were derived by reverse-engineering the source programs and extracting protobuf definitions. Many open source projects have freely copied from each other, making detailed analysis tricky [2].
[1] https://en.wikipedia.org/wiki/Microsoft_Open_Specification_P...
[2] https://github.com/jazzband/tablib/issues/114
What are some alternatives?
Protobuf - Protocol Buffers - Google's data interchange format
pymorphy2 - Morphological analyzer / inflection engine for Russian and Ukrainian languages.
csvkit - A suite of utilities for converting to and working with CSV, the king of tabular file formats.
tika-docker - Convenience Docker images for Apache Tika Server
Camelot - A Python library to extract tabular data from PDFs
feather - Feather: fast, interoperable binary data frame storage for Python, R, and more powered by Apache Arrow
PDFMiner - Python PDF Parser (Not actively maintained). Check out pdfminer.six.
file - Read-only mirror of file CVS repository, updated every half hour. NOTE: do not make pull requests here, nor comment any commits, submit them usual way to bug tracker or to the mailing list. Maintainer(s) are not tracking this git mirror.
rizin - UNIX-like reverse engineering framework and command-line toolset.
DistorteD - Ruby multimedia toolkit with deep Jekyll integration 🧪
PyYAML
fuzzywuzzy - Fuzzy String Matching in Python