|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
' c+ [. V/ m; [/ n6 ~+ s课程内容:
@) B9 w& m2 e+ K7 i00.课程介绍
2 u" S4 o# k- O1 K, {01.环境配置5 o& {1 z6 M% ^6 A& `
02.对象属性的访问方式6 ]. T: S/ i0 ]! R6 k
04.unicode字符串
. A4 O. F) D5 ^0 k05.字符串ASCII码混淆
& C8 m4 g7 `$ n0 B/ t06.字符串常量加密
6 G0 t1 L. W& q; I1 J) ?07.数值常量加密8 i( X% ]( z& M7 X
08.数组混淆3 c8 y q: |$ o4 j. @, e
09.数组乱序- |. }0 Y" M; r
10.增加JS逆向工作量(花指令)
0 S' \9 Z$ \! x8 o3 d' V) \0 C11.jsfuck2 _, \; F7 T; \! C$ {
12.流程平坦化
5 h. i+ r3 O/ P" A0 j$ S13.逗号表达式混淆1
- e, E I$ @' p7 L& W0 x) o/ i14.逗号表达式混淆2
# f0 k! R& q" Y% x* v6 E& K15.eval加密
2 M' b ?8 Q2 C9 e- b/ Z" E16.内存爆破
* R+ h9 {1 R2 h17.检测代码是否格式化
+ o& a: G& G" T/ U% ?# g* ]18.AST的基本结构
/ m, g7 _' V. \$ U3 y# b19.代码的基本结构7 g b: z4 d* ~' S3 o9 E
20.parser与generator
1 F* \ _" `; F3 c1 d21.traverse与visitor
. b) @" k/ L# u- `22.types
P5 G0 G1 Y# h) C- w0 } Y23.Path对象详解(Path与Node的区别)
! }' A% N( {2 C J0 H) X24.Path对象详解(Path中的方法)
( u ~% n) x9 \; \) V25.Path对象详解(父级Path)
; a0 ?* q$ }" ]( X6 U7 \26.Path对象详解(同级Path)
0 L' ^& N$ P% H2 `/ m, o27.scope详解(作用域)
/ G: C/ {3 J" o! O) M0 B+ Y28.scope详解(Binding)" I2 x; S2 e, ^& c
29.scope详解(referencePaths与constantViolations)
3 n/ W6 A9 C6 x; A2 l @3.十六进制字符串8 p: q$ n& W; N+ h/ ?
30.scope详解(遍历作用域)7 R" o1 p# P7 \3 d( }2 R6 O% A
31.scope详解(标识符重命名)% c$ N+ l. i! F; n3 B
32.scope详解(scope的其他方法)" a2 b6 i9 B/ X/ |
33.改变对象属性的访问方式
1 d5 \0 ]' ?# t% B% p& N) Q+ R7 N34.JS标准内置对象的处理 l! j3 f; H9 w
35.实现数值常量加密
( T `1 w5 M" f& B8 ~$ }36.实现字符串常量加密
9 T. K' b. }; c37.实现数组混淆8 i" v: M: j8 D2 V* Z
38.实现数组乱序0 q& ]8 }3 J9 \! f+ \, |
39.实现十六进制与unicode字符串 A- Z: i* L7 _
40.实现标识符混淆
5 Z( k6 D& p. o41.标识符的随机生成# B3 [" t2 U" D# W" @/ W- \+ x
42.二项式转函数花指令
0 w* v6 }6 M ?9 t1 r5 V43.代码的逐行加密
# N, ~/ H+ {( v6 Q' v" Z! o44.代码的逐行ASCII码混淆# Y O# p; T) X5 l5 A. A5 }1 [/ N
45.完整的代码与处理后的效果
$ X* y/ K6 x; F* u3 M0 ^46.实现流程平坦化混淆1$ C/ m+ `8 l: a G: t' r
47.实现流程平坦化混淆2
0 j/ X& S% \# S& B48.实现逗号表达式混淆1. `6 b' g8 N+ v7 C E& j
49.实现逗号表达式混淆2
3 e2 t6 }2 E7 @. t% L: g. H50.分析网站使用的混淆手段% s R% @, V' _9 e( c
51.还原代码中的常量( R- B1 v1 p* a' I0 r% B9 v
52.花指令剔除思路
# @8 g6 c4 i6 [/ i& L- [53.字符串花指令的剔除
- _& M* u3 t# J7 u% f7 s54.函数花指令的剔除% @. v# ]% e. ~- N8 i, R2 A6 i
55.还原流程平坦化 v' z' |; }6 }
0 j% ]4 Q2 a9 i9 k
|
|