Added macho
decoder (thanks @Akaame), nicer REPL interrupt, error and prompt, add slurp
/spew
functions and explode
for binary.
Added fq talk slides from Binary Tools Summit 2022 to README.md
.
Changes
- Major query rewrite refactor to share code for slurp-ish functions
repl
,slurp
and futurehelp
system. #178 - REPL improvements:
- Much improved eval and output interrupt. Should fix more or less all issue with un-interruptable long outputs. It is still possible to get "hangs" if some decode value ends up being expanded into a huge string etc. #191 #192
- Prompt paths now has colors support. #181
- Shows an arrow on parse error.
- Faster on multi inputs. #165
- Speedup interpeter by skipping redundant includes. #172
- gojq fork rebase: #179
- Fixes
try ... | ... catch
precedence issue. tonumber
now supports non-base-10 numbers.
- Fixes
- Add
slurp
/spew
to collect outputs and outputs them later.1,2,3 | slurp("a")
collects, later dospew("a")
to output them. Also a global array$a
will be available. #178
- Add
explode
for binary. #188"a" | tobits | explode
return bits[0,1,1,0,0,0,0,1]
."åäö" | tobytes | explode
return utf8 bytes instead of codepoints[195,165,195,164,195,182]
.
- Add optional sub topic to
--help
: #177 - Remove
var
, useslupr
instead.
Decoder changes
Changelog
- ee5e471 Update docker-golang from 1.17.7 to 1.17.8
- ca04cc2 Update github-golangci-lint from 1.44.0 to 1.44.1
- 5c6e1d3 Update github-golangci-lint from 1.44.1 to 1.44.2
- 1b8e693 Update make-golangci-lint from 1.44.0 to 1.44.1
- 9d5ba82 Update make-golangci-lint from 1.44.1 to 1.44.2
- cd2cbef decode: Some cleanup
- 9e4f264 dev: Add .jq-lsp.jq to add additional builtins for jq-lsp
- c6a90cf doc,asn1_ber: Add more documentation
- c53bd77 doc: Add bts2022 video
- b97776c doc: Add fq bts2022 presentation
- d334c2d doc: Add href in supported format list
- c95b0d6 doc: Forgot make doc
- a202df9 doc: Improve and fix some typos
- 9ec1d35 doc: Improve project description
- 758b2d0 doc: Regenerate after macho merge
- 920629f doc: Regenerate and fix macho section size
- d3397cf doc: Tweak format diagram
- d47e04c fixup! macho: CPU_SUBTYPE_MULTIPLE and TYPE_ALL are 0xff_ff_ff_ff
- 27e7615 format: Simplify torepr, no need for _f function
- 206dcd0 fuzz: Include more testdata seed files
- be6f009 gojq: Rebase fq fork and add support for non-10 base for tonumber
- 33efb02 interp,repl: Add path and value colors to prompt
- 41551de interp,repl: Improved eval and output interrupt
- dff7e7d interp: Cleanup binary regexp overloading and add explode
- fe8183b interp: Color parse in jq
- 6f10745 interp: Fix interrupt regression after query rewrite refactor
- f66f115 interp: Make _finally handle null, call fin once and last
- eeb5915 interp: Make help output less wide
- 9dc59e5 interp: Move _is_decode_value to jq
- 0bc1171 interp: Move opts eval to options.jq
- 3f50bb9 interp: Rework formats and options help
- 03f450f interp: Skip redundant includes
- c5918d2 macho: CPU_SUBTYPE_MULTIPLE and TYPE_ALL are 0xff_ff_ff_ff
- 5c97420 macho: TS string to UTC
- 04eae93 macho: add basic docs
- 5e95d1c macho: add cpuSubTypes
- 2638f41 macho: add darwin_amd64 test
- 5c5bd87 macho: add fqtest actualization
- bf214d5 macho: add nolint suppression to const defs
- 333a324 macho: add scalar.Hex mapper to addr fields
- a86e704 macho: add section type parsing
- 90b9463 macho: adopt plural-singular scheme for FieldStructArrayLoop
- b78ed02 macho: barebones decoder impl
- e199d21 macho: basic impl for ar and fat file parsing
- 66feebc macho: change parseFlags impl for ordered results
- b5fe9ce macho: change registry description
- 20e5be3 macho: delete ar decoder code
- efdd0bf macho: discard lc_ and lowercase command names
- b0911af macho: docs review changes
- a29bfca macho: expand filetypes and header flags
- fb0654e macho: fix FieldUTF8NullFixedLen for segname
- d1f093c macho: fix fat header decode bug
- 0d64892 macho: fix null in segname sectname
- 9eb71dc macho: generate doc via make doc
- 3991c51 macho: handle unknown lc_commands better
- ef2919b macho: introduce arm and fat tests
- 98c9840 macho: linting changes for ar parse
- 1feb81c macho: little-endian to little_endian
- 141a8e8 macho: mach_header_X to header
- 9206d9d macho: magicToHex to scalar.Hex
- 2021b05 macho: make actual
- 70b84cd macho: ntools fix LC_MAIN fix
- 78699f3 macho: parse flags individually
- 4016ad0 macho: parse segment section flags
- 5a48cb3 macho: refactor prebound_dylib
- 2e7767c macho: remake docs
- 3334750 macho: reuse ar decoder
- 228757b macho: review fixes
- 5ee9a23 macho: review fixes
- e3daee7 macho: simplify thread state decoder
- 70c9d51 macho: thread state visualization
- a4789dc macho: timestamp mapper
- 2ccb808 macho: update test cases v to dv
- 74abe99 macho: update tests
- 12eb7cc macho: use FieldUTF8NullFixedLen
- 5f4ad41 macho: use FieldUTF8NullFixedLen for segname
- f8690e6 mp4: Add colr box support
- b157751 mp4: Reformat and use dv in test
- 0a043f9 repl,interp: Refactor repl and slurp
- ca8cdad repl: Add comments and query from/to helper
- 9cb4205 repl: Correct error arrow position in color mode
- e238f29 repl: Speedup multi input to sub-repl
- 56ae4a0 test: Make expect cli test more robust