google/jsir
Next-generation JavaScript analysis tooling
解决的问题
JSIR 提供了一种在高阶源码表示与低阶数据流分析之间取得平衡的 JavaScript 代码分析与转换方法。这使得开发者能够执行复杂任务,例如将字节码反编译回可读的 JavaScript 代码,或去除代码中的混淆。
工作原理
它使用基于 MLIR(多级中间表示)的高阶中间表示。该设计利用 MLIR 区域来建模控制流结构,确保表示足够高阶,可转换回抽象语法树(AST)以支持源码到源码的转换,同时又足够低阶,可支持常量传播、污点分析等技术分析。
适用人群
专注于代码分析、反编译和 JavaScript 混淆去除的安全研究人员和开发者。
主要亮点
- 无损转换:支持将代码还原为源码,不丢失任何信息。
- MLIR 集成:利用 MLIR 框架实现高级分析。
- 混淆去除能力:可与 LLM(如 Gemini)结合,清理混淆代码。
- 字节码反编译:能够将 Hermes 字节码提升回 JavaScript 源码。
相关
- 项目
- 项目
- 项目
- 项目
- 项目