工具
go-fAST JavaScript 语法树库
一个用 Go 编写的库,用于解析、遍历、转换和重新生成 JavaScript 抽象语法树,README 将其定位于代码分析以及混淆与反混淆。其解析器基于 goja 的解析代码,自动生成的 SWC 式访问者 API 支持深度优先地改写和克隆节点,解析器(resolver)跟踪作用域与绑定,ext 包提供删除节点、判断副作用和推断取值的辅助函数,代码生成器则从语法树输出 JavaScript。文档称它是比 Babel 更轻、更快的替代品,并刻意省去了父节点、兄弟节点和引用映射以及自动化的修改辅助功能。
- 目标
- 网站
- 类别
- 网站分析工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 审阅时最新标签为 v0.1.0,创建于 2026-07-02,Go 模块代理以小写模块路径 github.com/t14raptor/go-fast 提供该版本;GitHub 上没有发布版。所审阅的 master 分支 2026-10-04 提交比该标签多 11 个提交,包括解析器、作用域解析器和代码生成器的修复,以及新的 PreserveParens 解析选项。
- go.mod 要求 Go 1.24,只依赖 nukilabs/ftoa 和 nukilabs/unicodeid。单元测试覆盖解析器、代码生成器、作用域解析器和语句辅助函数,但唯一的 CI 工作流只检查自动生成的 union、visitor 和 clone 文件是否最新,并不运行这些测试。使用指南和示例访问者(如展开逗号序列表达式、拆分变量声明)位于项目的 GitBook 文档站点。
- 它是一个库而非现成的反混淆工具:使用者需针对所需的转换自行编写访问者,并自备待分析的 JavaScript。README 未说明它能解析哪些 ECMAScript 版本。
- 采用 MIT 许可证(版权 2024 T14Raptor);README 致谢 goja 提供解析代码、SWC 提供访问者 API 设计。本次审阅未解析或转换任何脚本;所审来源未确立与 REA 的关联。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · T14Raptor/go-fAST · 修订 3796954
- go.mod GitHub · T14Raptor/go-fAST · 修订 3796954
- .github/workflows/verify-generated.yml GitHub · T14Raptor/go-fAST · 修订 3796954
- ast/ext GitHub · T14Raptor/go-fAST · 修订 3796954
- parser/parser.go GitHub · T14Raptor/go-fAST · 修订 3796954
- LICENSE GitHub · T14Raptor/go-fAST · 修订 3796954
- https://github.com/T14Raptor/go-fAST/releases/tag/v0.1.0
- https://proxy.golang.org/github.com/t14raptor/go-fast/@v/v0.1.0.info
- https://gofast.disasm.dev/