欢迎使用 SyntaxFlow
SyntaxFlow 是一个 Yaklang 出品的编译器级的高级静态分析语言。你可以使用 SyntaxFlow 分析被 Yaklang SSA 编译器编译后的程序(IrCode in Database)。
!!DANGEROUS NOTICE
SyntaxFlow 技术目前仅供技术交流使用,商业合作与授权二次开发请与 Yak Project 联系
研发过程不代表最终品质呈现,如果想体验最新的技术与实现,请查阅 yaklang 项目源码
支持特性
SyntaxFlow 支持各种静态分析中遇到的难题,并且在解决他们的过程中,可以抹除语言 AST 的特性,抹除赋值,编译分支与循环成为基本块和 Phi 的结构。
SyntaxFlow 基础特性
- 代码容错:可以针对不完整的代码进行审计;
- 支持精确搜索,模糊搜索,指定方法搜索;
- 支持 SSA 格式下的数据流分析;
- 支持 Phi 指令处理 IF For 循环等控制流程;
- 支持 OOP 编译成 SSA 格式后的搜索;
- 支持 Java 注解的追踪与 SSA 实例化,以适应各类注解入口的框架代码;
- 支持 Use-Def 链的运算符(向上递归寻找定义,向下递归寻找引用)
SyntaxFlow 高级特性
- 通用语言架构:支持 Yaklang / Java / PHP(Alpha*) / JavaScript(ES) Alpha*;
- 自动跨过程,OOP 对象追踪,OOP 内方法跨过程,上下文敏感与函数栈敏感特性,可以支持复杂数据流分析;
- 编译产物符号化,构建 Sqlite 格式的标准化符号和 IrCode 表,支持中间表达的可视化。
- 支持跨过程与数据流可视化(根据 SF 分析过程自动生成),支持数据 Dot 格式的分析步骤图和数据流图
SyntaxFlow 相关资料:
社群
SyntaxFlow使用案例和教程将定期更新, 关注微信公众号获取消息提醒。
欢迎加入SyntaxFlow交流群