1
1
mirror of https://github.com/wader/fq.git synced 2024-11-27 14:14:58 +03:00

Improve README.md a bit, one more demo and move up usage

This commit is contained in:
Mattias Wadman 2022-11-17 11:10:08 +01:00
parent 58e741902e
commit 7b6492eed0
3 changed files with 952 additions and 870 deletions

View File

@ -4,9 +4,15 @@ Tool, language and decoders for working with binary data.
![fq demo](doc/demo.svg)
Basic usage is `fq . file` or `fq d file`.
For details see [usage.md](doc/usage.md).
### Background
fq is inspired by the well known jq tool and language and allows you to work with binary formats the same way you would using jq. In addition it can present data like a hex viewer, transform, slice and concatenate binary data. It also supports nested formats and has an interactive REPL with auto-completion.
It was originally designed to query, inspect and debug media codecs and containers like mp4, flac, mp3, jpeg. Since then it has been extended to support a variety of formats like executables, packet captures (including TCP reassembly) and serialization formats like JSON, YAML, XML, ASN1 BER, Avro, CBOR, protobuf. In addition it also has functions to work with URL:s, convert to/from hex, number bases, search for things etc.
It was originally designed to query, inspect and debug media codecs and containers like mp4, flac, mp3, jpeg. But has since then been extended to support a variety of formats like executables, packet captures (with TCP reassembly) and serialization formats like JSON, YAML, XML, ASN1 BER, Avro, CBOR, protobuf. In addition it also has functions to work with URL:s, convert to/from hex, number bases, search for things etc.
In summary it aims to be jq, hexdump, dd and gdb for files combined into one.
@ -143,12 +149,6 @@ It can also work with some common text formats like URL:s, hex, base64, PEM etc
For details see [formats.md](doc/formats.md) and [usage.md](doc/usage.md).
## Usage
Basic usage is `fq . file`.
For details see [usage.md](doc/usage.md)
## Presentations
- "fq - jq for binary formats" at [No time to wait 6](https://mediaarea.net/NoTimeToWait6) - [video](https://www.youtube.com/watch?v=-Pwt5KL-xRs&t=1450s) - [slides](doc/presentations/nttw6/fq-nttw6-slides.pdf)

View File

@ -17,6 +17,9 @@ echo
c "Show ID3v2 tag inside mp3 file"
s "fq '.headers[0]' file.mp3"
echo
c "Show encoder software used"
s "fq -r '.frames[0].tags.encoder | tovalue' file.mp3"
echo
c "Decode at two offsets as mp3_frame and show bitrate"
s "fq -d raw 'tobytes[0xb79,0xc49:] | mp3_frame.header.bitrate' file.mp3"
echo

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 82 KiB