|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
% V1 n, c" P& K2 x: q9 x课程内容:
2 i6 u0 y8 \2 z* Q% M( {00.课程介绍
; G" [! g, l1 n, f3 r9 r( @01.环境配置8 S" Q* A+ d5 l- V$ H0 R
02.对象属性的访问方式
9 B- w; D3 E- t, L; k& Q04.unicode字符串
" Q* \9 F0 @' Q* L7 v05.字符串ASCII码混淆7 _, L8 p' a+ W" P! U2 J3 ]
06.字符串常量加密
- {0 w3 `5 X9 E: l* | X07.数值常量加密
6 @' A. j2 @" U$ M" e" j08.数组混淆7 L2 v. E/ V5 w. `5 Y5 N' s9 y
09.数组乱序, K$ `5 B4 K& A
10.增加JS逆向工作量(花指令)& a5 L) o; }) |! w
11.jsfuck
9 h1 m$ {) T# u, @3 \6 q12.流程平坦化
' C( d1 U) ?* s5 j& _2 n13.逗号表达式混淆1
. C! U5 V- O6 T7 y8 o& Y9 j14.逗号表达式混淆2
" z. _6 b" F' n; B15.eval加密
3 V7 ?! N# @1 B; F2 `2 S4 f16.内存爆破6 T+ r ?. l; i
17.检测代码是否格式化
& P5 j3 d. [, r% Z* e2 N* |3 e% s18.AST的基本结构. g- ]. l7 C, w. B! f3 I
19.代码的基本结构( P# |9 F e) |9 \3 D- U8 J; c
20.parser与generator
6 |4 E1 t. f) w+ b" ?( i8 |/ q21.traverse与visitor2 z9 h5 c+ g0 @- f1 o
22.types H6 F; L, E5 Q. W
23.Path对象详解(Path与Node的区别): ]2 \, U3 `9 | O2 {& |4 L
24.Path对象详解(Path中的方法)
, P$ Y6 { t" X' Y$ H: q' H! J, e25.Path对象详解(父级Path): D4 _$ B) |- s* w" C5 D
26.Path对象详解(同级Path). F8 K' r; m7 y5 X$ d9 F' K$ j
27.scope详解(作用域)
8 [$ E: y* t) M/ l- l$ W E2 i28.scope详解(Binding)8 ]5 A: j3 y# \9 v7 e
29.scope详解(referencePaths与constantViolations)# b* Y& x+ s* G/ g- I. G
3.十六进制字符串+ X! I {3 t+ W( _+ C- H
30.scope详解(遍历作用域)
5 C9 n+ F$ Z6 y3 _- j4 n31.scope详解(标识符重命名)
) v8 g3 N* B0 v7 f' `32.scope详解(scope的其他方法)
* |% K" H) W, P! v- j33.改变对象属性的访问方式8 x' }+ a; F3 g6 C& V0 E# G. X
34.JS标准内置对象的处理3 r% i5 T7 d+ d/ I7 q
35.实现数值常量加密
- _0 h9 E. }# z7 ~+ U36.实现字符串常量加密
* x n7 p+ R* |# ?, q( r37.实现数组混淆
' `2 D" Y/ q& L' l6 T( N38.实现数组乱序, Y% g3 }4 X6 s5 h% O
39.实现十六进制与unicode字符串" S6 G0 I5 H+ Q1 d
40.实现标识符混淆
$ R3 K; r1 g1 u* J+ M4 i41.标识符的随机生成4 q5 G5 K0 k* [9 r8 l8 Q- B
42.二项式转函数花指令1 P) D9 E- i5 |
43.代码的逐行加密' p* h* N5 A8 l( `% p+ W* f, a
44.代码的逐行ASCII码混淆
, m* J& j- v$ l- f `45.完整的代码与处理后的效果
5 @: S1 ?) s! _1 J46.实现流程平坦化混淆1
1 |) U$ U% Q t, z47.实现流程平坦化混淆2
4 [0 b5 R( d9 I& }- @) \- e4 {48.实现逗号表达式混淆1
- D8 w* |1 W8 _/ C' h3 Z49.实现逗号表达式混淆2! l/ T7 Z% c- A( [; l
50.分析网站使用的混淆手段! S# H. t9 j4 o9 g S3 O
51.还原代码中的常量
5 v# P- N( _) f5 e4 Z52.花指令剔除思路
8 \. a5 Y# s$ V) W* y5 ?' J53.字符串花指令的剔除4 C/ Z. D% G/ G/ ?4 x: _
54.函数花指令的剔除
( r$ @2 K5 H* L6 q55.还原流程平坦化 w# G" ]5 v/ `# Y, O4 G
. W6 Z; s( c( R! G" l
|
|