Repolode
wader

wader/fq

类似 jq 的命令行工具与查询语言,用于查看和查询二进制文件格式,内置多种格式解码器。

可替代:HexFiendImHex

Star
10,627
Fork
257
未关闭 Issue
59
最近提交
前天

这是什么?

fq 是一个用于处理二进制文件的命令行工具。它沿用 jq 的表达式语言,因此熟悉 jq 的用户可以直接把查询用在二进制数据上,得到解码后的字段而不是原始字节。

工具内置了大量格式解码器,覆盖 MP4、PNG、ELF、PCAP、TLS、Protobuf、ZIP 等常见媒体、网络和文件格式。它提供结构化的十六进制视图,支持嵌套格式解码,并能在比特级别对二进制数据进行切片和拼接。另外还带有支持自动补全的交互式 REPL。

fq 使用 Go 编写,可在 macOS、Linux 和 Windows 上运行,并可通过 Homebrew、scoop、pacman、Nix 等包管理器安装。

核心功能

  • 01使用兼容 jq 的表达式语言查询二进制文件。
  • 02内置多种格式解码器,涵盖媒体、网络和压缩归档文件。
  • 03结构化十六进制视图可同时显示解码字段和原始字节。
  • 04支持嵌套格式解码,以及比特级别的切片和拼接。
  • 05提供带自动补全的交互式 REPL。

适用场景

  • 调试时查看媒体文件或容器的内部结构。
  • 在命令行中分析抓包文件或协议消息。
  • 在 shell 脚本中从二进制格式提取特定字段。
  • 通过浏览解码后的结构树来学习某种文件格式的布局。

快速上手

  1. 1

    在 macOS 上通过 Homebrew 安装

    brew install wader/tap/fq
  2. 2

    在 Windows 上通过 Scoop 安装

    scoop install fq
  3. 3

    或使用 Go 安装(需要 Go 1.22 或更高版本)

    go install github.com/wader/fq@latest
  4. 4

    对文件运行

    fq . file

使用前须知

  • README 称项目采用 MIT 许可,但元数据中的许可证为 NOASSERTION,复用前请核实许可证。

收录于专题

标签

#binary#cli#jq#hexdump#file-formats#decoder#golang#decode#go#json

常见问题

fq 是什么?
类似 jq 的命令行工具与查询语言,用于查看和查询二进制文件格式,内置多种格式解码器。 fq 是一个用于处理二进制文件的命令行工具。它沿用 jq 的表达式语言,因此熟悉 jq 的用户可以直接把查询用在二进制数据上,得到解码后的字段而不是原始字节。
fq 可以免费使用吗?用的什么许可证?
fq 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
fq 还在维护吗?
活跃维护中。fq 最近一次提交是在 2026年11月5日。
fq 适合用来做什么?
调试时查看媒体文件或容器的内部结构。 在命令行中分析抓包文件或协议消息。 在 shell 脚本中从二进制格式提取特定字段。 通过浏览解码后的结构树来学习某种文件格式的布局。
fq 怎么安装和运行?
在 macOS 上通过 Homebrew 安装: brew install wader/tap/fq 在 Windows 上通过 Scoop 安装: scoop install fq 或使用 Go 安装(需要 Go 1.22 或更高版本): go install github.com/wader/fq@latest 对文件运行: fq . file
在哪里获取 fq?
源代码和安装说明在 GitHub 上:https://github.com/wader/fq

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目