|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
8 a$ ~5 i) A0 W' h: w" Q2 Z课程内容:
4 x" ^6 ?( K+ w8 C1 M4 ^00.课程介绍
* o5 j( n1 B8 d. |01.环境配置
( t- @4 P6 e- f& g# i; U02.对象属性的访问方式
, Q2 D6 w2 |' l04.unicode字符串
0 J2 Z3 E+ v7 Z05.字符串ASCII码混淆6 d" a! j% [0 h) e8 ] H
06.字符串常量加密+ X. y8 t! S/ H: n
07.数值常量加密- M- |) s! b# D3 A/ I0 ]3 x
08.数组混淆' \( M! f5 r0 ^# X. s
09.数组乱序8 m2 q) K y! f8 x G
10.增加JS逆向工作量(花指令)
& F- }- `( Z( C4 G1 ~7 N5 p11.jsfuck
& n4 l" Q, @3 Q5 z6 c12.流程平坦化2 G4 B- J% n, O7 `# z, S, o
13.逗号表达式混淆15 S r X, U! O, Z5 W) S4 x
14.逗号表达式混淆2
7 b+ a" a5 L% e" g5 J; J4 X1 _4 G. V15.eval加密/ g; V& A' V/ O$ a4 n$ G g
16.内存爆破
8 X, R5 j' ?1 ~. G& l' g, W+ b17.检测代码是否格式化
" P& R# n9 R" w( z3 C* H, W18.AST的基本结构. V* ], I+ s' l" f# a( ?4 b6 R
19.代码的基本结构- h; I7 G- R; U
20.parser与generator8 i8 ]1 V% D0 o9 y1 T0 ^) X' X
21.traverse与visitor
! ~1 d) E% }& [* ?# L8 b22.types4 P+ r$ ^& @. m5 E9 n/ U
23.Path对象详解(Path与Node的区别)/ [% v* [/ y' d& n( Y, s
24.Path对象详解(Path中的方法)
! R& a* L& I G" N, L6 ?25.Path对象详解(父级Path)
6 P( N- p% _3 l: K) d26.Path对象详解(同级Path)) }2 ^6 {' L3 J6 \
27.scope详解(作用域)6 u- s1 i+ \8 Z/ S/ z1 }* \
28.scope详解(Binding)
/ n" Q. w- G) ^4 t0 J) e29.scope详解(referencePaths与constantViolations)
1 k) M5 {, l V5 ^3.十六进制字符串
9 y+ U$ M7 p6 R5 R( @( b# V30.scope详解(遍历作用域)$ I" h' R0 ?+ _) I4 x7 m. E5 T( G2 P' _
31.scope详解(标识符重命名)
. E" j$ y. `- C/ D+ C" q/ L32.scope详解(scope的其他方法) P. V8 E* M8 u1 G( d" d% z
33.改变对象属性的访问方式# Q5 d% t) X4 t8 D; U. C1 s$ F& T
34.JS标准内置对象的处理
" u* a5 \5 m# ^* O& P! D/ M35.实现数值常量加密
; k0 o& V$ O2 d- P/ Z36.实现字符串常量加密) ]6 r- d& E( c- C G
37.实现数组混淆6 p s& M7 ~( z" y- @% X; k# o
38.实现数组乱序- b) _7 o. o2 L9 o9 Z& P( W ]
39.实现十六进制与unicode字符串
. a% B3 P- E `, T+ z2 a- g40.实现标识符混淆
9 ]* X) f4 W% m41.标识符的随机生成
; a7 a$ `6 U$ f; ^' A5 J- ?$ _42.二项式转函数花指令
0 b& H8 ^0 d9 o1 b+ s43.代码的逐行加密" S8 n W. X6 U3 k2 C
44.代码的逐行ASCII码混淆
4 u5 V% n7 U. s0 @# \45.完整的代码与处理后的效果2 E. G1 i) {2 O! y& C
46.实现流程平坦化混淆1
G$ S" I& z+ {) H8 o' b9 c: L( M4 D47.实现流程平坦化混淆2' h# u* F2 `% j5 o4 w
48.实现逗号表达式混淆1& ?& s3 t9 M; L) L( n, N/ z: K
49.实现逗号表达式混淆2
) p: S. A1 A* F1 e50.分析网站使用的混淆手段
3 {4 a5 [9 x3 U8 G' C0 R51.还原代码中的常量
) n( m* n, e- J m7 |52.花指令剔除思路( F0 M& y1 L q
53.字符串花指令的剔除 \: D8 s: h+ ]7 U1 E2 k$ K
54.函数花指令的剔除
( ?; u( t9 Y+ l, U6 `) D+ v! @55.还原流程平坦化
: e. i2 ~" G% D" \( O6 S* c T
( w6 T( O( G& D% R8 I
|
|