解析二进制数据结构的通用工具

这份清单涵盖了用于解析二进制数据结构(如文件格式、网络协议或比特流)的通用工具,包括解析器生成器、解析库和框架。

声明性语言

这些工具使用声明性语言来描述各种二进制数据结构,这些数据结构分布在文件或内存中。

  • Nom (Rust): Rust解析器组合器框架
  • bitvec (Rust): 面向位的解析库
  • Construct (Python): 用于解析和构建数据结构(二进制或文本)的库。以声明的方式定义您的数据结构
  • Kaitai Struct (DSL, C/C++, Zeek): 用于网络协议和文件格式的下一代解析器生成器
  • Hachoir (Python): 逐字段查看和编辑二进制流。渴望各种格式
  • Thrift : 用于消息的正式规范以及可验证的二进制解析器和消息生成器生成的工具集(受Ada启发)。
  • DataScript (DSL): DataScript是一种用于对二进制数据类型、位流或文件格式进行建模的形式语言
  • BinPac (OCaml): 基于OCaml的解析引擎
  • libcrafter : 实用的二进制解析问题解决方案。奥利维尔·莱维兰(Olivier Levillain)
  • Netego (Lua): 面向开源安全性的语言,它允许描述协议并在(实时)捕获的流量上应用安全策略
  • BinData (Ruby): 提供一种声明性方式来读取和写入结构化二进制数据
  • binary (Node): 节点的