|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
) _4 n2 ]: A/ O1 ^2 v H1 w课程内容:
" W: R$ I# S, h8 E9 P: C" ?2 ?00.课程介绍
3 [, p: |; b7 Q7 W" l' H- P/ k01.环境配置1 V P' x7 j" U
02.对象属性的访问方式
2 H4 o" l4 J* V04.unicode字符串: D& l- Q/ f' u. n3 r( q
05.字符串ASCII码混淆
2 s. g3 {! F' Q3 w, h2 @06.字符串常量加密$ O; a; W8 R1 r! Y, _8 T; B
07.数值常量加密
2 `* l \" f9 ~5 f0 F08.数组混淆
) C% a6 N( \7 ` u/ U9 u09.数组乱序# F& X: d5 x: x# v
10.增加JS逆向工作量(花指令)/ Z6 Z4 e' F3 ^& l5 L% P) S
11.jsfuck% D# N0 d4 \1 W6 a* M# ]
12.流程平坦化: d# t$ Y# R0 `3 D( d
13.逗号表达式混淆1
3 ?) Y" @3 i' j! W$ A6 @; l3 q; L( R14.逗号表达式混淆2; R" a2 h1 l) g+ y
15.eval加密 t6 E) g" V1 N7 r6 w' ^/ N8 h
16.内存爆破 D, K1 |& N0 H: ?' U# V/ p" W
17.检测代码是否格式化
2 S8 L; z; l/ C: I. D) G18.AST的基本结构$ a% v' v Z$ [6 x3 }) O* g* ]
19.代码的基本结构
; W* [+ d# v' y) z- U# S: |20.parser与generator
3 s/ V- ~: N H1 W `21.traverse与visitor
) R: _1 W8 v' h5 Z3 ?) x0 D6 r22.types4 z6 L$ q; o8 J5 e
23.Path对象详解(Path与Node的区别)
& S) j1 {. }8 h% n24.Path对象详解(Path中的方法)# ?* R4 Z* Z4 N" B
25.Path对象详解(父级Path)
" N0 H) b% O( ?: g) U26.Path对象详解(同级Path)+ B* b% k8 d% Y6 Q0 y3 t
27.scope详解(作用域)/ d& Q4 F. I/ u7 k; R; @3 f- ?
28.scope详解(Binding)
( A* K2 ^# e5 p29.scope详解(referencePaths与constantViolations)
& _- K) H' ~2 v3.十六进制字符串
6 V. f3 J U. q1 k2 a: |& B9 X30.scope详解(遍历作用域)
9 Y$ W$ o+ h- A, Q# j31.scope详解(标识符重命名)
* }( C0 R/ C# ]" N6 ^* v& Z32.scope详解(scope的其他方法)- i' G0 M# q3 J G3 F( g3 j8 N
33.改变对象属性的访问方式
$ |" ]1 {. c1 }7 L0 M34.JS标准内置对象的处理
8 s/ z: z1 ]. \- J; D2 D35.实现数值常量加密( d7 q! x. R7 y/ v4 R
36.实现字符串常量加密2 ?' w6 t( b1 Q
37.实现数组混淆
' \. L! s6 [8 ~# I& a38.实现数组乱序
& i5 O2 U: C8 L9 @, ]- A0 r39.实现十六进制与unicode字符串# D6 m/ @! [# M( X9 R
40.实现标识符混淆
+ f8 x: l- ^6 |0 B41.标识符的随机生成9 B- f+ f: g B: l' }/ K# x
42.二项式转函数花指令% i! U+ j5 F! C; [4 H+ v$ v
43.代码的逐行加密2 o% x2 U0 v, W; a# s# R8 T7 L8 i' h3 Y
44.代码的逐行ASCII码混淆
! J* }& E! w! [7 B. m45.完整的代码与处理后的效果9 d$ k# P: U- y& l: u
46.实现流程平坦化混淆1: \1 U; g8 Q* |$ n" i" l
47.实现流程平坦化混淆2
$ O3 f' A3 ^ P, [$ P48.实现逗号表达式混淆1
3 Q+ ?* Z4 N/ W; y49.实现逗号表达式混淆2
6 s$ D0 _2 ?5 |; }* D1 l- k50.分析网站使用的混淆手段
( R4 X( b( _: m! k( @51.还原代码中的常量
# o1 `* h& J+ B' M0 U3 B: F9 M52.花指令剔除思路7 `2 E& |6 M5 M* k
53.字符串花指令的剔除
" ^- P9 o% j) |54.函数花指令的剔除4 R% C/ Z9 h& {4 W
55.还原流程平坦化
. o7 N. V. V2 ?: b% _7 R ( [; Q* h8 z: m3 y
|
|