《反爬虫AST原理与还原混淆实战 微课视频版》李岳阳 清华大学 2021.7

  • 内容简介:

    AST是目前爬虫领域的热点。本书从AST这一个知识点出发,由浅入深,带领读者掌握反爬虫AST的原理,并帮助读者培养解决实际问题的能力。 本书共11章,分为四部分。部分(第1~4章)介绍开发环境的搭建方法、Web调试的技巧以及爬虫与反爬虫的基本知识;第二部分(第5~6章)讲解混淆JavaScript代码的手工逆向方法与JavaScript代码安全防护的原理;第三部分(第7~8章)讲解AST的原理与API的使用方法;第四部分(第9~11章)以AST为基础,讲解自动化的JavaScript代码防护与还原方案,并带领读者进行实战训练。 本书适合作为计算机培训的教材,也可供安全开发人员、爬虫初学者以及想要在爬虫领域进阶的人员学习。

  • 作者简介:

    李岳阳

    毕业于北京大学,资深爬虫工程师,执着于技术提升和知识传播。是一名语言无关论者,不过偏重使用Python和Erlang。

    卓斌

    资深安全开发工程师,花名“小肩膀”,热爱逆向技术,有十余年安全开发培训经验。多年来研发多门Web和Android端逆向课程,深受学员好评。

  • 目录:

    第1章搭建开发环境

    1.1Node.js环境搭建

    1.1.1Node.js安装配置

    1.1.2Babel安装

    1.1.3Visual Studio Code安装配置

    1.2Python环境配置

    1.2.1Python 3.7安装

    1.2.2requests请求库安装

    1.2.3bs4解析库安装

    1.3Fiddler抓包工具

    1.4AST Explorer网站在线生成抽象语法树

    1.5小结

    1.6习题

    第2章Web网站的调试与抓包分析

    2.1Chrome开发者工具

    2.1.1Elements面板

    2.1.2Console面板

    2.1.3Sources面板

    2.1.4Network面板

    2.1.5Application面板

    2.2JS逆向调试技巧

    2.2.1善用搜索

    2.2.2查看请求调用堆栈

    2.2.3XHR请求断点

    2.2.4Console插桩

    2.2.5堆内存函数调用

    2.2.6复制Console面板输出

    2.3本地覆盖

    2.3.1Chrome local override

    2.3.2Fiddler自动响应

    2.4Ajaxhook

    2.4.1Ajaxhook源码分析

    2.4.2Ajaxhook拦截

    2.5网易易盾滑块验证码调试分析

    2.6小结

    2.7习题

    第3章爬虫与反爬虫

    3.1网络爬虫

    3.1.1网络爬虫原理

    3.1.2网络爬虫分类

    3.1.3网络爬虫与搜索引擎

    3.2编写网络爬虫

    3.2.1requests请求库的使用

    3.2.2bs4解析库的使用

    3.2.3编写简单网络爬虫

    3.3爬虫与反爬虫的博弈

    3.4小结

    3.5习题

    第4章常规反爬虫技术

    4.1Headers头部校验

    4.2IP地址记录

    4.3Ajax异步加载

    4.4字体反爬虫

    4.5验证码反爬虫

    4.6JS参数加密

    4.7JS反调试

    4.8AST混淆反爬虫

    4.9小结

    4.10习题

    第5章混淆JS手动逆向方法

    5.1混淆脚本分析

    5.1.1定位加密入口

    5.1.2混淆特征分析

    5.1.3加密函数还原

    5.2小结

    5.3习题

    第6章JS代码安全防护原理

    6.1常量的混淆原理

    6.1.1对象属性的两种访问方式

    6.1.2十六进制字符串

    6.1.3unicode字符串

    6.1.4字符串的ASCII码混淆

    6.1.5字符串常量加密

    6.1.6数值常量加密

    6.2增加JS逆向者的工作量

    6.2.1数组混淆

    6.2.2数组乱序

    6.2.3花指令

    6.2.4jsfuck

    6.3代码执行流程的防护原理

    6.3.1流程平坦化

    6.3.2逗号表达式混淆

    6.4其他代码防护方案

    6.4.1eval加密

    6.4.2内存爆破

    6.4.3检测代码是否格式化

    6.5小结

    6.6习题

    第7章AST抽象语法树的原理与实现

    7.1理解AST抽象语法树

    7.1.1AST基本概念

    7.1.2AST在编译中的位置

    7.1.3AST程序开发

    7.2词法分析

    7.2.1词法分析基本原理

    7.2.2Python编写词法分析器

    7.3语法分析

    7.3.1语法分析基本原理

    7.3.2Python编写语法分析器

    7.4Babel编译步骤

    7.4.1Babel的解析

    7.4.2Babel的转化

    7.4.3Babel的生成

    7.5小结

    7.6习题

    第8章AST的API详解

    8.1AST入门

    8.1.1AST的基本结构

    8.1.2代码的基本结构

    8.2Babel中的组件

    8.2.1parser与generator

    8.2.2traverse与visitor

    8.2.3types组件

    8.3Path对象详解

    8.3.1Path与Node的区别

    8.3.2Path中的方法

    8.3.3父级Path

    8.3.4同级Path

    8.4scope详解

    8.4.1获取标识符作用域

    8.4.2scope.getBinding

    8.4.3scope.getOwnBinding

    8.4.4referencePaths与constantViolations

    8.4.5遍历作用域

    8.4.6标识符重命名

    8.4.7scope的其他方法

    8.5小结

    8.6习题

    第9章AST自动化JS防护方案

    9.1混淆前的代码处理

    9.1.1改变对象属性访问方式

    9.1.2JS标准内置对象的处理

    9.2常量与标识符的混淆

    9.2.1实现数值常量加密

    9.2.2实现字符串常量加密

    9.2.3实现数组混淆

    9.2.4实现数组乱序

    9.2.5实现十六进制字符串

    9.2.6实现标识符混淆

    9.2.7标识符的随机生成

    9.3代码块的混淆

    9.3.1二项式转函数花指令

    9.3.2代码的逐行加密

    9.3.3代码的逐行ASCII码混淆

    9.4完整的代码与处理后的效果

    9.5代码执行逻辑的混淆

    9.5.1实现流程平坦化

    9.5.2实现逗号表达式混淆

    9.5小结

    9.6习题

    第10章AST自动化JavaScript还原方案

    10.1常用还原方案

    10.1.1还原数值常量加密

    10.1.2还原代码加密与ASCII码混淆

    10.1.3还原unicode与十六进制字符串

    10.1.4还原逗号表达式混淆

    10.2Chrome拓展开发入门

    10.2.1Chrome拓展程序

    10.2.2Chrome拓展开发之去除广告插件

    10.3JS Hook

    10.3.1JS Hook原理与作用

    10.3.2JS Hook对象属性

    10.3.3JS自动注入Hook

    10.4DOM对象的Hook

    10.4.1Script自动加载

    10.4.2Hook DOM

    10.4.3JS Proxy

    10.5原型链

    10.6XHR Hook

    10.7JS Hook的检测

    10.8小结

    10.9习题

    第11章AST还原JS实战

    11.1分析网站使用的混淆手段

    11.1.1协议分析

    11.1.2数组乱序

    11.1.3字符串加密

    11.1.4花指令

    11.1.5流程平坦化

    11.2还原代码中的常量

    11.2.1整体代码结构

    11.2.2字符串解密与去除数组混淆

    11.3剔除花指令

    11.3.1花指令剔除思路

    11.3.2字符串花指令的剔除

    11.3.3函数花指令的剔除

    11.4还原流程平坦化

    11.4.1获取分发器

    11.4.2解析switch结构

    11.4.3复原语句顺序

    11.4.4协议逆向

    11.5小结

    11.6习题

阅读全文
试读下载
下载价格11 书虫币
购买: 5元充值卡  10元充值卡  100元充值卡  月年VIP充值卡 月VIP充值卡
书虫币并非是购买书籍的价格,只是网站服务费用
网盘访问密码: 9258
免费下载epub文件阅读器(便携版)
想白嫖资源的,签到既是王道,免费书虫币就问你要不要?
常见问题
关于版权问题!
本站不存储任何书籍资源,只利用互联网API接口提供搜索服务。如果侵犯了你的权益,请工单留言,我们将第一时间删除。
书虫币相关问题!
所有的知识币都可以签到所得,所有资源,完全可以免费获取。
下载异常!
如遇到无法下载,请工单留言,我们第一时间修复或增加新的下载地址。
未搜索到自己需要的书籍!
如未搜索到自己需要的书籍,请工单留言,我们第一时间上传相应的资源。
0

评论0

5折充值卡,先到先得,充值卡购买地址

升级VIP,无限下载

没有账号?注册  忘记密码?