rasn
Kaitai Struct
Our great sponsors
rasn | Kaitai Struct | |
---|---|---|
8 | 44 | |
174 | 3,830 | |
9.8% | 1.6% | |
8.6 | 7.5 | |
4 days ago | 11 days ago | |
Rust | Shell | |
GNU General Public License v3.0 or later | GPL-3.0-or-later |
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.
rasn
- Rasn 0.8: Now with support for UPER and APER
-
An Open Source Rust SNMP Simulator
The UdpFramed constructor must be supplied by an instance of a codec object, which implements the Encoder and Decoder Tokio crate traits. It’s used on top of the socket to handle frames. SnmpCodec is used to decode the received UDP socket data into a stream of SNMP messages, and to encode the SNMP messages into ASN.1 encoded UDP socket data. The SnmpCodec is a wrapper of rasn ASN.1 codec framework, which implements the Encoder and Decoder traits to encode and decode UDP frames. The decoder and encoder implementations leverage the rasn ASN.1 codec framework.
- Announcing Rasn 0.5: New CMS, Kerberos, OCSP, S/MIME crates, and funding announcement
-
Fq: Jq for Binary Formats
Shameless plug, but you may be interested in my library (which is MIT/Apache-2.0) that offers decoding from BER/DER/CER all from a single model in code, there's no UPER/APER support at the moment, but it's coming in the next few months. :)
https://github.com/XAMPPRocky/rasn
-
Rasn 0.4 — New Compile-Time Validation, SET and ANY support, new LDAP and PKIX crates, and more!
Hello everyone, I'm proud to announce the 0.4.0 of rasn! rasn is a #[no_std] codec framework for the ASN.1 data model and encoding rules. Allowing you to safely and easily parse ASN.1 data formats such as BER, CER, and DER in safe Rust. This release focused on rounding out the support for data types needed for more complicated specifications such as PKIX. If anyone has any questions about this release or rasn feel free to ask me here, or on the GitHub Discussions board.
-
ASN.1 & Serde: Which crate does the community recommend?
For ASN.1 I generally recommend rasn, which does not use serde since that is a poor fit for ASN.1. It went through an in-depth design phase and is currently the most complete and easy-to-use ASN.1 crate I'm aware of.
- Comparison of way too many Rust ASN.1 DER libraries
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.
What are some alternatives?
asn1rs - Generates Rust Code and optionally compatible Protobuf schema files from ASN.1 definitions.
Protobuf - Protocol Buffers - Google's data interchange format
fq - jq for binary formats - tool, language and decoders for working with binary and text formats
csvkit - A suite of utilities for converting to and working with CSV, the king of tabular file formats.
binspector - A binary format analysis tool
Camelot - A Python library to extract tabular data from PDFs
nom - Rust parser combinator framework
tablib - Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.
vector - A high-performance observability data pipeline.
PDFMiner - Python PDF Parser (Not actively maintained). Check out pdfminer.six.
swc - Rust-based platform for the Web
rizin - UNIX-like reverse engineering framework and command-line toolset.