|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。" b" G6 P. y3 H" k# m3 ]& q
课程内容:
/ g: U& M- Y& Q7 W00.课程介绍
1 o( M4 L7 F' _. o01.环境配置
0 b+ Y5 z% \1 Q6 Z4 L02.对象属性的访问方式
- q& I9 U: K2 {8 k& D04.unicode字符串
3 P5 k6 A W3 E) g05.字符串ASCII码混淆
3 V8 t$ W; m0 S: I06.字符串常量加密0 P, E! x$ w1 ]1 ?7 X" h; S) S
07.数值常量加密' `7 z: M) \ K" s6 O/ L
08.数组混淆
^) z3 Y" x$ Z09.数组乱序
^6 a1 b- N I. g% T. \10.增加JS逆向工作量(花指令). Z6 |6 u$ [7 v1 V8 d
11.jsfuck
6 C/ M N9 A+ u8 ?12.流程平坦化
I8 m! A* @+ D8 ~) J$ h3 V/ I$ P2 z13.逗号表达式混淆1) w+ Z" d+ B. `$ z) T; Z
14.逗号表达式混淆2: L4 j( _& `' }- L
15.eval加密
* [0 l" ?$ B, K" }16.内存爆破
9 Z7 C/ _9 Q4 u: k( W0 a17.检测代码是否格式化
- g; j' F @0 y" S5 D1 E18.AST的基本结构2 w [) k' B% G c/ w2 S d" o
19.代码的基本结构$ S/ _2 ]3 }, }: @' I% g4 m7 a
20.parser与generator
) z$ ?1 G; ~7 P8 I- B: O21.traverse与visitor8 |6 N8 b% m1 Z+ e& c
22.types
# |+ I8 S) P( `23.Path对象详解(Path与Node的区别)
0 m4 I7 N9 a6 S* d24.Path对象详解(Path中的方法)) V% W; n: V, C8 d. m
25.Path对象详解(父级Path)
; l% I" r; r' l2 y4 ~26.Path对象详解(同级Path)/ P+ b# S; A3 V% |9 F9 v! D
27.scope详解(作用域)3 ~: ~7 M ~2 ?* S% ?
28.scope详解(Binding)+ l1 }1 l( {* G8 A3 | _
29.scope详解(referencePaths与constantViolations)
" m% |/ c* `9 D6 j) n+ m0 _3.十六进制字符串4 W. K" U S7 _' p$ v4 c
30.scope详解(遍历作用域)
3 Q4 t* `% o x% V% z: ?9 U3 H31.scope详解(标识符重命名)
# b) Y; p- o. ]32.scope详解(scope的其他方法)
" ^" V3 y1 @. O% @$ _33.改变对象属性的访问方式3 ]) G1 V/ x& M+ D5 f
34.JS标准内置对象的处理8 s) R% ^. V* X" N# P- l) F+ m
35.实现数值常量加密
7 i: `' J. i/ N; \, w/ y4 J' I36.实现字符串常量加密
% ]# u h- h% P' X5 i% {4 C3 q37.实现数组混淆
6 v; i* ]' F6 p1 h: O/ Y38.实现数组乱序5 B5 \" P7 e$ P0 I- F
39.实现十六进制与unicode字符串
5 ]6 ?4 B/ P* b- t; D40.实现标识符混淆
& I- D# f5 v2 n6 X8 A, M41.标识符的随机生成
$ `8 C9 N& d1 b42.二项式转函数花指令
L$ z% j3 M5 B$ a/ H. R43.代码的逐行加密
2 ~3 ^1 Q+ V) C: Q4 p: E! E1 N44.代码的逐行ASCII码混淆6 f8 K& e$ a8 ]
45.完整的代码与处理后的效果
8 i# Q+ V, ~6 E' u* i- g46.实现流程平坦化混淆1
* `2 z: ~4 `- \1 c8 t" r( g47.实现流程平坦化混淆2
# B' U U, ?: u7 \5 h5 l f48.实现逗号表达式混淆1
8 h1 k3 p8 S7 h8 d, y+ S8 \+ ~49.实现逗号表达式混淆29 q: V$ {# I: ?& e( I6 a ]
50.分析网站使用的混淆手段
6 x6 w% C6 o. W/ B8 g! W: _51.还原代码中的常量
! O+ J2 w. m* V$ j52.花指令剔除思路, D2 g+ s( I# Q5 m
53.字符串花指令的剔除0 O3 M1 s, x6 U1 h
54.函数花指令的剔除1 A& f/ R7 c! U1 g9 {
55.还原流程平坦化 ~- u* j7 \9 t5 G
8 Z( X( a) d! R1 y0 K
|
|