jchv/zanbato

GitHub: jchv/zanbato

这是一个用Go编写的Kaitai Struct编译器和运行时求值器,解决了在Go环境中无需JVM依赖即可解析二进制格式的问题。

Stars: 0 | Forks: 0

[Web编辑器](https://jchv.github.io/zanbato/) • [![Go报告卡](https://goreportcard.com/badge/github.com/jchv/zanbato)](https://goreportcard.com/report/github.com/jchv/zanbato) • [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6b34667274071154.svg)](https://github.com/jchv/zanbato/actions/workflows/ci.yml) # Zanbato Zanbato 是一个用 Go 编写的、针对 Kaitai Struct `.ksy` 文件的编译器和运行时求值器实现,目前支持 Go 和 C 语言输出。它对 Kaitai Struct 的功能有相当完整的支持。 其目的并非替代上游的 Kaitai Struct 编译器。它是一个替代实现,可能对纯 Go 项目、实验 `.ksy` 定义以及希望在不依赖基于 JVM 的编译器的情况下获得 Kaitai Struct 支持的工具链有所帮助。 ## 状态 Zanbato 目前通过了完整的上游 Kaitai Struct 测试套件,以及为专门针对 Zanbato 尝试找出缺陷而创建的额外测试(这些测试也针对上游 Kaitai Struct 进行了验证)。项目仍在积极开发中,因此很可能存在缺陷,尤其是在使用较少的功能上。 所有 Kaitai Struct 功能都应在一定程度上可用,包括: - ✅ 结构体 + ✅ 基本数据类型(整数、字符串、比特、字节等) + ✅ 类型切换 + ✅ 字节序 - ✅ 继承字节序 - ✅ 字节序切换 - ✅ 比特字节序 + ✅ 引用其他类型 + ✅ 重复: - ✅ 迭代次数重复 - ✅ 重复直到流结束 - ✅ 重复直到表达式为真 - ✅ 枚举 - ✅ 参数 - ✅ 表达式 + ✅ 一元、二元和三元运算符 + ✅ 常见的字符串、字节数组、数组、枚举和流辅助方法 - ✅ 实例 + ✅ 值实例 + ✅ 定位实例 + ✅ 条件实例 - ✅ 序列化 + 请注意,序列化是一个进行中功能(WIP),且测试较少。 + Go 和 C 发射器都支持序列化。 + 运行时求值器仅支持修改标量。
标签:DNS解析, EVTX分析, Go语言, Kaitai Struct, Web编辑器, 二进制解析, 代码生成, 字节序处理, 工具开发, 序列化, 开源项目, 数据定义, 数据格式工具, 数据管道, 日志审计, 格式解析, 测试套件, 渗透测试工具, 程序破解, 类型系统, 结构数据, 编译器开发, 表达式计算, 软件工程, 运行时评估