|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
$ w, @4 x' i1 _7 o( Z# E- [课程内容:3 P, Q+ R: W) e: t! g" j
00.课程介绍
5 {! M# S9 F4 ?/ M( M01.环境配置7 ]* Q7 O; {% c" v5 N" J7 U& c
02.对象属性的访问方式" a% K4 @; C1 R8 ?- k: Q- e ]( D
04.unicode字符串" }0 D* a5 C8 V. y* F- v
05.字符串ASCII码混淆3 M& S- Q! H9 M# w& H3 N ]
06.字符串常量加密0 I: D! N4 h( ?6 W7 G& f; x2 ^
07.数值常量加密
/ b0 l$ A1 I; A6 T08.数组混淆
$ f0 i0 k+ c) G09.数组乱序
5 n3 \! ^0 K/ b7 D4 Q4 z10.增加JS逆向工作量(花指令)
2 O& [# e) x% y W. h9 q+ \& U% t11.jsfuck8 M* a* [! D& }6 P$ b1 I
12.流程平坦化
' \5 o& `0 B1 D" z! h& o- @13.逗号表达式混淆1
& U5 V. U+ p1 o# |/ m14.逗号表达式混淆2( b- {4 o9 e/ a, b0 h* R: h& n2 ~! E
15.eval加密2 _$ ~, W5 w( q& ?5 _( f: ]! V
16.内存爆破2 Y* _0 g3 t7 a2 |, }# r. H
17.检测代码是否格式化
, f) i2 N( e' h$ L6 M# q. ?+ y18.AST的基本结构 n, r. T/ W, Z& M. L: D+ L
19.代码的基本结构
+ t/ k! P, |7 X+ E# ] v20.parser与generator
1 P/ m) m. e5 B2 ?21.traverse与visitor& ?: r+ `( }5 d
22.types
d" h U* {! Y. ?, U5 t23.Path对象详解(Path与Node的区别)3 L# g9 p A" x o* F( v
24.Path对象详解(Path中的方法)
) E' v7 R. j, x2 i$ Q25.Path对象详解(父级Path)
+ r: l: I" ]3 x( j: L26.Path对象详解(同级Path)* u; D( n, s0 o: v/ M
27.scope详解(作用域)
# e/ s0 p' k! S" f& W' W& D- i$ W28.scope详解(Binding)
5 }0 I. W7 @2 ?) ~7 Z' v29.scope详解(referencePaths与constantViolations); a$ s' m# t+ u: \
3.十六进制字符串
# x) F% d$ K7 q V30.scope详解(遍历作用域)
! o8 d/ k/ Q% b7 k! t( T31.scope详解(标识符重命名)
; A. e f9 d/ U32.scope详解(scope的其他方法)( n( e+ ?5 k* _7 ~. \! J4 L5 c3 {6 b
33.改变对象属性的访问方式
# U/ E& G3 `. P2 h34.JS标准内置对象的处理$ d# U; i; T! H
35.实现数值常量加密4 {6 v# i3 v( ^; k3 n% \9 M8 D/ h; Y
36.实现字符串常量加密
' Y% Y3 k6 O/ [. v/ k37.实现数组混淆
8 K# W7 t! _% U' o- H* ^- e38.实现数组乱序$ \8 D" `0 F! B. B6 ~, X
39.实现十六进制与unicode字符串" O3 O6 \8 ^" ?3 H3 R
40.实现标识符混淆( n, Q+ M, S/ ?# ?, u
41.标识符的随机生成% ^& }, X# D8 _! A
42.二项式转函数花指令
: }: N- J( P- n6 ?43.代码的逐行加密
: k9 Q6 G! ~, S) P44.代码的逐行ASCII码混淆. z, V# L0 l- |$ c$ F
45.完整的代码与处理后的效果 ]* n* P$ [% c3 [: a$ l% ~; Y; l4 n# t
46.实现流程平坦化混淆1
9 m1 R3 H9 ?9 A8 s2 @47.实现流程平坦化混淆2
+ N/ Y; U1 g9 X+ C48.实现逗号表达式混淆19 @8 H5 b; X9 X1 a6 h. z
49.实现逗号表达式混淆27 R1 v' J5 K" k' Y
50.分析网站使用的混淆手段 ~& A/ E3 u. e$ x
51.还原代码中的常量% X# t- c& Y9 M6 V8 n9 x' S5 t* d
52.花指令剔除思路
9 @: [, j: @+ [/ V9 |7 P53.字符串花指令的剔除- s) V& l; g4 a( }# u
54.函数花指令的剔除% u; K1 L/ w! ?, M% u
55.还原流程平坦化
3 D1 l7 M( `0 L7 A" j) ~3 H, T) I
j. e$ D# e* T6 m0 X
|
|