|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
) ^3 s& I) X( P5 A课程内容:
9 ?6 I9 W: m' [00.课程介绍8 \4 i$ e* I" B6 {
01.环境配置
U5 }$ K7 b% g A+ e! X02.对象属性的访问方式
; T' x% D5 v; `2 C$ L+ ]& T( E$ Q04.unicode字符串1 U6 q1 J4 f G
05.字符串ASCII码混淆" M! T$ z$ ]9 C. i5 l
06.字符串常量加密
5 I" ]# [" B9 \5 U" ]07.数值常量加密
' U7 @, M' A1 S& ]3 `( ^- H9 v08.数组混淆
# {( r8 V. p' j% a( `4 O r09.数组乱序' q& J$ @$ W9 m& L/ G
10.增加JS逆向工作量(花指令)
+ d8 b8 l0 V. k! t11.jsfuck
X! {* e7 v% T2 W/ R12.流程平坦化
' [0 }* l1 U1 }* z9 n13.逗号表达式混淆1: `$ |" `' C. [# ?" d* R
14.逗号表达式混淆2. V' F+ {- B+ ~, h3 b8 d
15.eval加密. i: Q$ H" m( x4 [6 r3 [
16.内存爆破
* a8 P$ o- P1 N) p; h17.检测代码是否格式化
- L( A" T/ X2 m( g* ~1 ^18.AST的基本结构( R# p, b1 l& [8 O4 F2 d9 D' H
19.代码的基本结构
. r& Y6 {# \8 ~6 b5 f* G! @20.parser与generator3 f, g+ \1 I1 R3 w
21.traverse与visitor
: p" h! c# V2 ^" {22.types
: }- P( _% C6 |, P% P! _/ [23.Path对象详解(Path与Node的区别)
9 K5 ~& m, x- H' t, ~24.Path对象详解(Path中的方法)5 G* p) L4 @9 m* d
25.Path对象详解(父级Path)& N" p' f5 i0 M" T7 w
26.Path对象详解(同级Path)% m8 Q. G; ?: c* I7 o% E$ r
27.scope详解(作用域)1 e! W; c+ y' J% v
28.scope详解(Binding)2 k7 g& d% W2 V& G% `
29.scope详解(referencePaths与constantViolations)4 Z$ Y( D! C5 I) v- l/ b
3.十六进制字符串. u& X, b" i6 `2 k) y4 U9 l
30.scope详解(遍历作用域)
' W8 E$ M0 G& s, K) R# {% w31.scope详解(标识符重命名)+ U8 h4 w) O) o& W7 |
32.scope详解(scope的其他方法)
( p1 ^7 W3 J# [6 ?3 D33.改变对象属性的访问方式
& G- i6 X% ^/ r: i) c+ p; e34.JS标准内置对象的处理
- h+ D. N6 h+ o- n8 X35.实现数值常量加密9 N9 R4 P% |- q; y7 {" [ ?$ P# ]. q
36.实现字符串常量加密' K8 A/ U) t& J7 g9 b
37.实现数组混淆# x' n& {" y6 o, B' H6 K5 V
38.实现数组乱序2 E& H- v" B# @( Z @
39.实现十六进制与unicode字符串$ \/ Y* D* M3 ]+ f4 A
40.实现标识符混淆- y1 V# T, S4 w$ h4 I
41.标识符的随机生成
" M/ a" ^' a- J1 o42.二项式转函数花指令
* Y/ Y" \# [1 {43.代码的逐行加密
2 c9 Z8 ]% h9 ?# W+ s e; _6 \44.代码的逐行ASCII码混淆1 r1 k! l9 r r% H
45.完整的代码与处理后的效果
- v Z- U/ p8 g- V ^46.实现流程平坦化混淆1
; K. F8 K4 L. z* Q7 _47.实现流程平坦化混淆28 S: i- g. S8 W, ^3 U
48.实现逗号表达式混淆1
: V# o+ @; J3 J) C6 [/ _3 v/ ?; \! `- T' G. D49.实现逗号表达式混淆2# E: N" a. H8 r% T
50.分析网站使用的混淆手段 a" }! l! L& N; W" k) u
51.还原代码中的常量
4 Q7 s/ D* S1 T, B52.花指令剔除思路
8 H% q- S" B v: P( u! u53.字符串花指令的剔除
: A) C W/ ]: V. ?, q9 N54.函数花指令的剔除
3 t! W: O5 Q) ?8 D3 @55.还原流程平坦化
% b% P7 [+ m: |+ f# e0 ]
' [1 z* l( |; Y- |, |5 A8 k2 Q j
|
|