AST是个啥?

简介: AST是个啥?


 简介

AST(抽象语法树)将源代码转化为抽象语法结构树表示 在这个节点树种你可以做多种操作 巴拉巴拉的 太多了

具体可以跳转

https://blog.csdn.net/weixin_39408343/article/details/95984062

去了解


 有什么用?

在js混淆领域 很多站为了让你头疼 经常会使用一些混淆

最常见的当属OB混淆了 也有D象 S美 T盾 J验等

图左为加密前 图右为加密后

既然AST可以用来加密代码 那也是可以用来解密代码的

我写的一键反混淆工具便是通过AST来还原混淆代码的

原代码

混淆后代码

工具解混淆后代码

通过对比可知 虽然工具无法百分百还原 但是在可读性上是倍的提升


 怎么学?

面对使用混淆的站的增加 AST也逐渐走进人们的视野 但是在早一段时间 教AST的人少之又少 会的人少之又少 但是 但是 现在我就要着重介绍一个人了

那就是 老板 他的公众号是 菜鸟学Python编程

里面有着丰富的教程 大家可以去关注一下蔡老板的公众号 学学AST基础


当然除了他的公众号 蔡老板也开通了星球 在星球上有着大量的AST的教程

适合大家的入门以及进阶

如果你想仔细学习 加入星球也是一个不错的选择


题外话

最近刚开学 更新可能会少一点 等安顿好啦 再多多更新 冲鸭


[完]



相关文章
|
5月前
|
前端开发 JavaScript
jsx的语法规则
jsx的语法规则
|
15天前
|
JavaScript 算法 前端开发
基于抽象语法树+diff算法实现Markdown编译器
基于抽象语法树+diff算法实现Markdown编译器
|
3月前
|
XML 前端开发 JavaScript
jsx的语法规则?
jsx的语法规则?
|
存储 JavaScript 开发者
vue2-编译之生成AST
前言 在上篇文章我们分析了编译中parse的部分代码,也就是parseHTML的实现。在parseHTML中通过逐字匹配将template进行了初步解析。现在我们继续分析在parseHTML中输出的结果是如何被parse进行使用的。以此结束完整parse流程的分析。
|
Java 编译器 程序员
字节码插桩(四) | AST
我们通过 AndroidStudio 生成Bean对象一般是通过注解来实现自动生成getter/setter方法、equals()和hashCode()方法,其中类(或接口)要符合驼式命名法,首字母大写。方法要符合驼式命名法,首字母小写,类或实例变量要符合驼式命名法,首字母小写。常量要求全部由大写字母或下划线构成,且第一个字符不能是下划线,否则编译器会报警告
126 0
字节码插桩(四) | AST
|
自然语言处理 Shell Python
[oeasy]python0135_python_语义分析_ast_抽象语法树_abstract_syntax_tree
[oeasy]python0135_python_语义分析_ast_抽象语法树_abstract_syntax_tree
89 0
[oeasy]python0135_python_语义分析_ast_抽象语法树_abstract_syntax_tree
|
JSON 自然语言处理 JavaScript
什么是 AST?
什么是 AST?
109 0
什么是 AST?
|
JSON 自然语言处理 JavaScript
怎么理解AST,并实现手写babel插件
怎么理解AST,并实现手写babel插件
158 0
jsx语法规则
jsx语法规则
69 0
|
JSON JavaScript 安全
分分钟学会 JS AST,打造自己的编译器
抽象语法树是js代码另一种结构映射,可以将js拆解成AST,也可以把AST转成源代码。这中间的过程就是我们的用武之地。 利用 抽象语法树(AST) 可以对你的源代码进行修改、优化,甚至可以打造自己的编译工具。其实有点类似babel的功能。咱们就一起学习下怎么玩转 ast。
591 0
分分钟学会 JS AST,打造自己的编译器