课程简介
本课程是一门专注于JavaScript逆向工程与浏览器环境补全的深度实战课程。课程系统讲解了Hook原理、Proxy代理、Reflect反射、原型链操作、环境检测与对抗等核心技术。你将学习如何构建完整的JS补环境框架,涵盖从基础Hook、对象属性拦截,到复杂的浏览器API模拟(如localStorage、canvas指纹、事件监听)、VM2沙箱环境搭建以及常见反爬策略的绕过。通过大量实战案例,你将掌握逆向分析的核心思维与工具链,能够独立处理复杂的JS加密与环境检测问题,提升在安全研究、数据爬取等领域的实战能力。
下载地址
课程目录
01 JS补环境框架介绍
第00–01节:介绍JS补环境框架与开发环境配置。
02 基础语法与环境搭建
第02–09节:创建JS对象、原型链、call/apply、Object方法、属性描述符等基础语法。
03 原型与函数保护
第07–08节:封装原型与函数的保护方法,以及重写defineProperty方法。
04 补环境框架主体搭建
第02–03节:搭建补环境框架主体结构并手动补window原型链。
05 核心方法实现
第04–06节:实现new报错函数、atob/btoa方法及Window原型属性。
06 env函数分发器
第09–10节:封装env函数分发器并编写脱浏览器环境脚本。
07 脱环境脚本与测试
第11–13节:继续编写脱环境脚本并进行测试。
08 过环境检测
第14–17节:过location检测、固定随机性参数、写日志及补充env分发器。
09 Proxy代理器
第01–10节:Proxy与Reflect简介、各拦截方法封装及案例练习。
10 代理器检测与保护
第18–22节:代理器检测、解决重复代理、Proxy失效及过滤特定属性。
11 节点环境检测
第22节:node环境和vm2环境中的检测点。
12 浏览器API实现
第23–32节:实现localStorage、document相关API、cookie及a标签检测。
13 浏览器对象创建
第33–38节:创建Plugin、PluginArray、MimeType、MimeTypeArray对象并实现其方法。
14 浏览器指纹
第39–42节:实现canvas_2d、webgl指纹及字体识别原理与思路。
15 其他API实现思路
第43–50节:innerHTML、setTimeout、addEventListener等API的实现思路。
16 补环境流程总结
第51–53节:总结补环境流程,处理document.all检测及chromium全局代理。
17 Hook原理与应用
第01–11节:Hook原理、函数与对象属性Hook、检测保护及插件实现。
--- 点击展开详细目录 ---视频
01.第一部分 JS基础
- 🎬 00.JS补环境框架介绍.mp4
- 🎬 01.开发环境配置.mp4
- 🎬 02.创建js对象的方式.mp4
- 🎬 03.原型链.mp4
- 🎬 04.call和apply方法以及arguments对象.mp4
- 🎬 05.Object对象的常用方法.mp4
- 🎬 06.Object.defineProperty方法和属性描述符详解.mp4
- 🎬 07.valueOf和toString方法.mp4
- 🎬 08.判断数据类型的两种方式.mp4
02.第二部分 hook插件
- 🎬 01.hook的原理与作用以及函数hook.mp4
- 🎬 02.hook对象属性.mp4
- 🎬 03.浏览器环境hook atob方法.mp4
- 🎬 04.简单hook cookie.mp4
- 🎬 05.hook检测与保护.mp4
- 🎬 06.封装保护函数setNative.mp4
- 🎬 07.函数重命名.mp4
- 🎬 08.实现hook插件.mp4
- 🎬 09.hook 插件补充.mp4
- 🎬 10.hook原型对象的所有属性方法.mp4
- 🎬 11.hook全局window下的函数与原型.mp4
03.第三部分 Proxy代理对象
- 🎬 01.Proxy代理与Reflect反射简介.mp4
- 🎬 02.代理器方法封装.mp4
- 🎬 03.Proxy.get方法.mp4
- 🎬 04.Proxy.set方法.mp4
- 🎬 05.Proxy.getOwnPropertyDescriptor方法.mp4
- 🎬 06.Proxy.defineProperty方法.mp4
- 🎬 07.Proxy.apply方法.mp4
- 🎬 08.Proxy.construct方法.mp4
- 🎬 09.Proxy其他拦截方法.mp4
- 🎬 10.Proxy代理器案例练习.mp4
04.第四部分 补框架主体
- 🎬 01.vm2框架介绍.mp4
- 🎬 02.补环境框架主体结构搭建.mp4
- 🎬 03.手动补window原型链.mp4
- 🎬 04.new对象时的报错函数.mp4
- 🎬 05.atob和btoa方法实现.mp4
- 🎬 06.Window原型属性和原型对象属性.mp4
- 🎬 07.封装原型以及函数的保护方法.mp4
- 🎬 08.重写defineProperty方法.mp4
- 🎬 09.封装env函数分发器.mp4
- 🎬 10.编写脱浏览器环境脚本一.mp4
- 🎬 11.编写脱浏览器环境脚本二.mp4
- 🎬 12.编写脱浏览器环境脚本三.mp4
- 🎬 13.测试脱环境脚本.mp4
- 🎬 14.过location检测.mp4
- 🎬 15.固定随机性参数.mp4
- 🎬 16.写出日志信息.mp4
- 🎬 17.env函数分发器补充.mp4
- 🎬 18.代理器检测.mp4
- 🎬 19.解决重复代理问题.mp4
- 🎬 20.解决proxy代理器失效.mp4
- 🎬 21.proxy代理器过滤特定属性.mp4
- 🎬 22.node环境和vm2环境中的检测点.mp4
- 🎬 23.localStorage方法和属性实现一.mp4
- 🎬 24.localStorage方法和属性实现二.mp4
- 🎬 25.document.createElement实现思路.mp4
- 🎬 26.实现获取和设置原型对象上的属性API.mp4
- 🎬 27.document.getElementsByTagName实现思路.mp4
- 🎬 28.标签初始化.mp4
- 🎬 29.document.write实现思路.mp4
- 🎬 30.document.getElementById实现思路.mp4
- 🎬 31.document.cookie实现.mp4
- 🎬 32.a标签检测.mp4
- 🎬 33.创建Plugin对象.mp4
- 🎬 34.创建PluginArray对象.mp4
- 🎬 35.创建MimeType对象.mp4
- 🎬 36.创建MimeTypeArray对象.mp4
- 🎬 37.plugin和mimeType环境补齐.mp4
- 🎬 38.pluginArray和mimeTypeArray属性方法实现.mp4
- 🎬 39.canvas_2d指纹.mp4
- 🎬 40.canvas_webgl.mp4
- 🎬 41.浏览器字体识别原理.mp4
- 🎬 42.字体指纹实现思路.mp4
- 🎬 43.innerHTML实现思路.mp4
- 🎬 44.通过浏览器接口导出加密结果.mp4
- 🎬 45.setTimeout实现思路.mp4
- 🎬 46.clearTimeout实现思路.mp4
- 🎬 47.navigator.getBattery实现思路.mp4
- 🎬 48.addEventListener实现思路.mp4
- 🎬 49.获取浏览器鼠标轨迹事件.mp4
- 🎬 50.node复现鼠标轨迹执行结果.mp4
- 🎬 51.补环境流程总结.mp4
- 🎬 52.document.all环境检测.mp4
- 🎬 53.chromium全局代理.mp4
|