首页 > 其他分享 >什么是AST?AST有什么用?

什么是AST?AST有什么用?

时间:2024-06-20 10:42:56浏览次数:27  
标签:混淆 AST 代码 爬虫 https 源代码 什么

在写之前,先回答一下标题。

什么是AST呢?
在编程和软件工程中,AST 是抽象语法树(Abstract Syntax Tree)的缩写。它是一种用于源代码的抽象语法结构的树状表现形式,以树状的形式表示源代码的语法结构。

AST有什么用呢?
对于反爬工程师来说,他们可以利用AST把他们写好的JavaScript代码,变的更复杂,更抽象,让人望而止步,从而更好的防护了他们的网站。以下是简单的示例:
混淆前的源代码:

混淆之后的代码:

代码的可读性难度是不是变大了,无疑是给爬虫工程师调试时阅读增加难度

当然爬虫工程师也可以利用AST去还原这些混淆代码,从而降低阅读难度

学习AST需要用到那些知识呢?
废话不多说,直接上干货。

AST在线解析网站:
https://astexplorer.net/

这里推荐一个入门的javascript教程:
https://wangdoc.com/javascript/index.html

做爬虫的或多或少都会用到node.js:
https://nodejs.org/zh-cn/

好了,今天文章就水到这里嘿嘿
下篇文章开始记录学习AST的日记

标签:混淆,AST,代码,爬虫,https,源代码,什么
From: https://www.cnblogs.com/xiaocaikun/p/18258223

相关文章

  • 【2024最新精简版】ElasticSearch面试篇
    文章目录你们项目中主要使用ElasticSearch干什么什么是正向索引?什么是倒排索引?......
  • SqlserverCDCSource DataStream方式
    org.apache.flink没有jar包,要换为com.ververica.cdc2.com.ververica.cdc最新的也只有3.0.1,3.1.1的没有主要mvnrepository仓库没找到如下是单并行度和多并行度的demo==============================================================================================......
  • git文件上推失败-(non-fast-forward)
    文章目录一、问题描述二、问题原因三、解决方法3.1合并分支(1)通过图形化界面(2)通过命令行3.2解决文件合并冲突一、问题描述在使用git上推时出现下列错误:![rejected]master->master(non-fast-forward)hint:Updateswererejectedbecausethetipofyourcu......
  • Elasticsearch如何聚合查询多个统计值,如何嵌套聚合?并相互引用,统计索引中某一个字段的
    目录Elasticsearch聚合查询说明空值率查询DSLElasticsearch聚合基础知识扩展Elasticsearch聚合概念Script用法Elasticsearch聚合查询语法指标聚合(MetricAggregations)桶聚合(BucketAggregations)矩阵聚合(MatrixAggregations)组合聚合(PipelineAggregations)Elasticsearch聚合查询......
  • R语言实现偏最小二乘回归法 partial least squares (PLS)回归
    原文链接:http://tecdat.cn/?p=8652原文出处:拓端数据部落公众号 偏最小二乘回归是一种回归形式。 当使用pls时,新的线性组合有助于解释模型中的自变量和因变量。在本文中,我们将使用pls预测“收入” 。   rlibrary(Ecdat)  ##'data.frame':753obs.......
  • 冠和库:每天有三四个小时空闲时间,做什么兼职副业赚钱比较好?
    做兼职别跟风!别跟风!别跟风!大学的时候看人家配音月入几万,傻乎乎去报名了某配音班,还买了声卡、话筒,前前后后投了小2w。赚的第一桶金竟然是卖配音设备,啊啊啊啊本来想赚点生活费最后却亏麻了!!!痛!实在是太痛啦!!久病成医,被坑多了才知道找到一个正规靠谱、适合自己、能赚到钱的兼职有多......
  • 作为一名黑客/网络安全专家,应该掌握什么技能?熟悉哪些常规软件/工具?
    作为一名合格的黑客/网络安全专家,应该具备一套全面的知识体系和实战技能,同时熟悉多种安全软件和工具。今天我们将根据目前市面上流行的一些应用程序,以及常规的安全防护措施,对于一些必备的技能和常规需要熟悉的软件做一个介绍:技能要求:加密和解密技术-了解各种加密算法......
  • 什么是数仓调度?推荐使用这款数据仓库ETL工具
    随着企业数据规模的不断增大,如何高效地管理和利用数据成为了企业数字化转型过程中的重要问题。数据仓库作为一种专门用于存储和处理企业数据的技术,已经成为了企业数字化转型过程中不可或缺的一部分。而数仓调度则是数据仓库建设过程中至关重要的一环。一、什么是数仓调度?......
  • Elasticsearch 的事务日志
    translog是Elasticsearch保证数据可靠性和灾难恢复的重要组件,每个索引分片配备一个translog,对索引数据的增加、更新操作都会记录在translog中。translog本质上是一个可滚动的日志文件,相比于lucene的写入,日志文件的写入是一个相对轻量的操作,translog会定期地sync到磁......
  • C# 语言在AGI 赛道上能做什么
    自从2022年11月OpenAI正式对外发布ChatGPT依赖,AGI这条赛道上就挤满了重量级的选手,各大头部公司纷纷下场布局。原本就在机器学习、深度学习领域占据No.1的Python语言更是继续稳固了自己AI一哥的位置。凭借着Microsoft和OpenAI长期以来一直是紧密相连的合作伙伴,微软的众多使用C#......