|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。' X; q8 Q8 ^- u. B; M
课程内容:
7 }7 R. u h% D00.课程介绍
" d2 C* K2 d8 d% ~7 ?+ G X01.环境配置
0 `7 o: o9 e9 S# }) V' p) W02.对象属性的访问方式, B1 p. b' e5 d7 a9 g2 l; c1 B; n
04.unicode字符串7 q3 E( N8 L. W8 l$ z
05.字符串ASCII码混淆
) k ^) c1 _/ d* I+ c6 Y* J06.字符串常量加密
& O. O# X& _& \* z ?% ]% G' E07.数值常量加密
. P' p( e; S# _: h7 s08.数组混淆
, B9 ~ t0 t" n3 A2 H# P09.数组乱序) a# ^/ D- P( v. E% k( `8 b3 `
10.增加JS逆向工作量(花指令)8 D4 d4 K9 T6 T C x! y
11.jsfuck% W6 N' ^* W7 ]
12.流程平坦化
1 d' y, x" W; x4 Y& ^% A( D13.逗号表达式混淆1
; H1 {/ C" S M" F1 U# K14.逗号表达式混淆2
2 P% `* L" m5 E3 h# x U. U15.eval加密" Q4 P' M2 l2 z
16.内存爆破7 c2 r" X2 z3 F
17.检测代码是否格式化
5 U% ^* z% _* N6 v7 n8 k, c5 ~18.AST的基本结构9 o3 x' ~8 p5 Q
19.代码的基本结构
3 p( B& |; l4 I+ ]- i20.parser与generator
( c3 ^2 s6 G3 ~1 G6 P6 f8 {, {21.traverse与visitor1 T: o5 n: J. ?3 w
22.types
0 W3 |5 s/ x7 b9 U: v23.Path对象详解(Path与Node的区别)# |3 W, M, Z1 g* C
24.Path对象详解(Path中的方法)
6 C) f- c8 S y8 d4 r25.Path对象详解(父级Path)
5 U6 ?; A" E9 A! a( O; x26.Path对象详解(同级Path)5 \" Y7 k* e6 x% c0 P9 ^) @
27.scope详解(作用域)8 Y% d/ {4 b- p, W, Y
28.scope详解(Binding)7 |: k; ~# F& a/ [$ m
29.scope详解(referencePaths与constantViolations)! s! F" A) D: L' O
3.十六进制字符串$ L9 ^3 a) P" A/ K1 W1 I
30.scope详解(遍历作用域)
7 I* y/ ~8 n8 q2 q" ~31.scope详解(标识符重命名)
) m$ Y3 j: E2 ^2 {32.scope详解(scope的其他方法)
/ }6 I3 V/ r7 g% |+ Q- R2 I33.改变对象属性的访问方式
! ~, O+ A) W9 k3 [" w3 Z! r34.JS标准内置对象的处理& K ?8 w' a; e/ u4 |5 e
35.实现数值常量加密 [* O" q6 k. @5 p+ I8 t
36.实现字符串常量加密
8 l& p! f8 H$ y$ L3 X. P& x5 f4 b37.实现数组混淆7 C4 B' W0 C) n% |9 i* Q
38.实现数组乱序
7 K7 I6 \6 l; V39.实现十六进制与unicode字符串
/ y+ g9 [" T0 H/ p" M40.实现标识符混淆0 ]0 Q- m# h( e
41.标识符的随机生成
1 M" g& L" W. A' ~7 h& w42.二项式转函数花指令
9 Q9 g, c1 n! G43.代码的逐行加密; V( W- V& p0 d4 A* U- q
44.代码的逐行ASCII码混淆/ Q) G2 C( J5 ^$ b' ~/ w* Z. \
45.完整的代码与处理后的效果
& u6 c/ K' ~, p* ?5 K46.实现流程平坦化混淆15 W0 s1 }0 x0 q$ U; ^; j
47.实现流程平坦化混淆2
) k+ o M1 g; K3 j. ~4 T48.实现逗号表达式混淆1
8 V/ \: x! O- X/ r) f49.实现逗号表达式混淆2
7 P, I8 G& j. C1 w" U50.分析网站使用的混淆手段, d6 Q7 M( X0 k g2 x
51.还原代码中的常量% `) S$ Z- }: ]2 X5 ]6 F
52.花指令剔除思路
4 w9 r* J: S* o! w9 R- i. w# M% k7 p U53.字符串花指令的剔除3 W+ E3 i; d0 _
54.函数花指令的剔除
: @( m* @. y) n, l55.还原流程平坦化
9 X6 U/ h( r* D
8 l* @$ E8 G- N; W6 H/ T
|
|