|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
1 n7 X/ N' z( P# ?课程内容:
, X8 j( e$ S( x00.课程介绍
; B6 T4 W; ~, n9 e9 d4 w* q01.环境配置( Z& P& I4 K+ N9 M$ ]0 T
02.对象属性的访问方式$ _5 B6 U% t, e# q: m6 [( x
04.unicode字符串
9 m% D1 d( J- [4 I2 ^% `; S05.字符串ASCII码混淆: z: t! i8 E2 v: e0 ]
06.字符串常量加密
! w- y8 M& C3 U v) C/ p9 K07.数值常量加密0 G2 l* R3 p3 c2 A* L) j
08.数组混淆& ]& \ @, I, I) M$ j; T6 j
09.数组乱序
4 K- V9 c; H& R% Z10.增加JS逆向工作量(花指令)
& X( A( |! F: w: r, v* X11.jsfuck3 P% _8 K/ I6 n! Z6 A9 n2 M; X) c
12.流程平坦化
e: K1 o9 Q- A% t13.逗号表达式混淆1
0 D" q2 q* h7 E! @14.逗号表达式混淆24 o. ^8 k! _/ p8 ?' x' h
15.eval加密: m1 H5 ^* f, m7 S
16.内存爆破
2 B/ F4 _* c) Z7 ]' W9 o+ d, O17.检测代码是否格式化
" |# d; ] a: u( ~! \18.AST的基本结构
; X- R# ~9 N' N3 @4 u1 A19.代码的基本结构2 s( r! L) D9 w4 n; p- q& _
20.parser与generator
o8 w/ y& i& b3 p" G9 Z$ z3 e, b' [21.traverse与visitor. R5 Q( x: Z" l( A+ a1 h$ `$ @
22.types- W( Z" R" f+ m' _, @% \
23.Path对象详解(Path与Node的区别)
" e _7 ?) J' j1 [ X24.Path对象详解(Path中的方法)3 W. i6 l( _# g7 z
25.Path对象详解(父级Path)
, V' c2 A$ m" \& S p* U3 [26.Path对象详解(同级Path)
1 R$ K+ y+ v, K" N7 B) `( R. _- D27.scope详解(作用域)
$ c3 T- {- F# V3 L28.scope详解(Binding)
2 y4 q, ?! O% m8 [29.scope详解(referencePaths与constantViolations)
5 |& ~& f& w- d; m" b3 y$ ?6 C3.十六进制字符串
$ f2 J6 v" [$ F% j, J& O( [30.scope详解(遍历作用域)4 F' |( s _# X* s: w
31.scope详解(标识符重命名) l# J; _' }' ~+ S. H6 O% P
32.scope详解(scope的其他方法)
6 S( x& V7 w' i4 C I9 P8 J33.改变对象属性的访问方式
9 }" ^* |. H* }34.JS标准内置对象的处理
$ t* d# m. i% l35.实现数值常量加密
. P4 R: M# O* x$ c, i36.实现字符串常量加密8 ?8 C0 a5 |- P
37.实现数组混淆
. | x& Y+ @; [. j7 K- g38.实现数组乱序7 l8 [1 G/ x0 y- `' D9 D4 i
39.实现十六进制与unicode字符串* N% M. W* O; A v8 e0 P
40.实现标识符混淆
# e4 a8 Q3 u- C( O0 [41.标识符的随机生成
/ D3 \7 b' S4 j3 b) [% j# V" E42.二项式转函数花指令/ l0 v C7 _( W& P
43.代码的逐行加密2 \$ t5 I$ Q( p( f) y
44.代码的逐行ASCII码混淆
# N- c9 J( Y( Y$ D4 {/ F45.完整的代码与处理后的效果+ M/ S5 ~" F7 i, ~
46.实现流程平坦化混淆1
. c6 m! h* @9 t' o$ k C0 i4 r47.实现流程平坦化混淆22 V* b9 {( c5 p& r- B
48.实现逗号表达式混淆11 H% D Y- P, L( c+ M8 g3 }
49.实现逗号表达式混淆2/ y, ` S G" k8 v# t9 y4 q" H
50.分析网站使用的混淆手段1 V% x' q, y% @) z; i \7 z
51.还原代码中的常量8 N0 f* p+ W! u
52.花指令剔除思路
) h# ]& p6 Y* J* a1 h& X( d! [53.字符串花指令的剔除5 u; o) r* Y+ [
54.函数花指令的剔除- H# T% G5 q# H3 a5 ~* p
55.还原流程平坦化
5 j* F q4 D$ ^) S" v
c) ~- g. O: q+ w' b/ |" ^8 n% ~
|
|