什么是AST?AST有什么用?

news/2024/9/28 23:24:50

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

什么是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的日记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/45618.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

IDEA中ctrl+F12快捷键失效

IDEA项目的一个类中使用Ctrl+F12想查看类中方法当你的才华配不上你的野心,努力的时候到了!

海量数据处理利器 Roaring BitMap 原理介绍

本文结合个人理解梳理了BitMap及Roaring BitMap的原理及使用,分别主要介绍了Roaring BitMap的存储方式及三种container类型及Java中Roaring BitMap相关API使用。作者:来自 vivo 互联网服务器团队- Zheng Rui本文结合个人理解梳理了BitMap及Roaring BitMap的原理及使用,分别主…

sql 语句分页查询

举例: 一次查询5条,从第0条开始 一次查询5条从第5条开始 由上面两条例子我们可以做一个简单的封装/// <summary> /// 根据分页查询 /// </summary> /// <param name="pageSize">一页多少条</param> /// <param name="pageNumber&…

华为造车究竟成没成功,这个责任谁来担?

华为造车,一种很新的造车方式。华为,这家全球知名的通信设备行业巨头,和某粮食厂商一样,近年来在汽车行业的各种动作引起了业界的广泛关注。自2019年成立“智能汽车解决方案业务部(简称‘车BU’)”以来,华为在“造车”与“不造车”之间做出了明确的抉择——华为不造车,…

2024年软件架构趋势之AI与机器学习的关系

在当下这个信息爆炸的时代,我们经常会听到“AI”和“机器学习”这两个词。它们似乎总是携手出现,让人觉得它们就是一对不可分割的“好基友”。但你有没有想过,这两者之间到底有什么关系,它们是如何在我们的生活中无缝集成的呢?今天,咱们就聊聊这个话题。 首先,咱们得明…

以沙箱的方式运行容器:安全容器gvisor

以沙箱的方式运行容器:安全容器gvisor,安全容器隔离技术,Gvisor简介,容器runtime简介,docker容器缺陷,配置docker使用gVisor作为runtime,升级系统内核,安装gvisor,配置docker默认的runtime为gVisor,docker使用gVisor作为runtime创建容器,配置containerd使用gvisor作为…

【4月27日RPA公开课UiPath圆满结束】掌握验证码自动登录技巧,实现高效自动化

在数字化时代,自动化已成为提高工作效率、降低成本的必备工具。而RPA(Robotic Process Automation,机器人流程自动化)技术正是其中的佼佼者。为了帮助更多学员掌握RPA技术,RPA学习天地于4月27日举办了一场别开生面的公开课,主题为“如何实现各种验证码的自动登录”。 本次…

U盘插入电脑,过了十来秒才识别到,可能的原因

电脑使用了如vmware workstation,会提示连接到主机还是虚机,但不做选择时,大概十来秒会默认选择连接到主机