|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
6 R/ w3 L6 A S% H7 u课程内容:
! X- e) m ^/ l8 r/ Y$ d$ K" n00.课程介绍1 ^' D# c5 V; W9 C2 o9 `) a7 J
01.环境配置9 l" T: Z% k; I2 e1 }
02.对象属性的访问方式9 E2 S) i r, a& x% @, X
04.unicode字符串+ H& L( d% N! ?4 }
05.字符串ASCII码混淆
7 G- B! n3 L& P' q7 ]# w6 @9 o06.字符串常量加密
* O: X: ~6 k t/ T" [$ h07.数值常量加密
0 ^3 {* J) e. |& I08.数组混淆8 r+ ]- `1 V7 }9 z- n
09.数组乱序
3 \ F( Z( e. n" H0 D& O5 h10.增加JS逆向工作量(花指令)' m# y/ B9 n2 S$ V
11.jsfuck
h; }. Y: _/ B$ }; e& _- A12.流程平坦化
9 o3 J; r1 X+ D9 H& A! b: W13.逗号表达式混淆1
/ k% }: Y* A5 ?( j8 c14.逗号表达式混淆2$ l6 s1 c& P$ @: p* ^1 P9 q* u
15.eval加密
: A8 K6 T! s" a, K0 B16.内存爆破/ F: ^2 J1 {# j- C+ k5 E" C) u
17.检测代码是否格式化
- ]3 B1 ]+ G+ B) z18.AST的基本结构
% U7 K$ {& n" L/ U# C19.代码的基本结构
8 E9 V; S( a9 X" ?5 [20.parser与generator
" |3 i; s; P* d3 k21.traverse与visitor
2 u$ m; ^7 X4 Q/ L) H$ ~' L22.types
: C. O# g2 o! p+ e6 p! l# ^23.Path对象详解(Path与Node的区别)
5 F8 h2 c1 P% A% P24.Path对象详解(Path中的方法)
; q: H8 v3 S( }& c: M- n9 T25.Path对象详解(父级Path)& `6 f5 C, }' E3 t2 S+ X+ Y
26.Path对象详解(同级Path)8 f# X8 {! p& I* D+ @
27.scope详解(作用域)
/ o# D& {2 D, j28.scope详解(Binding)$ L# q+ \# V/ X2 T' J5 q7 [
29.scope详解(referencePaths与constantViolations)
& x7 R$ s h2 k) e4 k3.十六进制字符串
% a/ F! X. o; H R- \30.scope详解(遍历作用域)6 C6 j' d) S7 u2 @# s
31.scope详解(标识符重命名)# y. B3 z. z9 y2 D# c: h/ T
32.scope详解(scope的其他方法)
! W: O; t! I% ?! w& M33.改变对象属性的访问方式" e5 C& p! x: w* P" K
34.JS标准内置对象的处理
- D8 ^% v! u" V5 B" o7 x5 ~+ k x35.实现数值常量加密/ w% V3 ^3 ]- q9 l: h3 f
36.实现字符串常量加密
, s" k+ ] r6 f1 B$ B37.实现数组混淆& r3 e( Y. S# I* m9 k& K6 m
38.实现数组乱序4 v3 p* D H+ K) d( E) Q
39.实现十六进制与unicode字符串
2 o' |( E _% h40.实现标识符混淆+ L; d( N6 e$ {
41.标识符的随机生成
+ D1 p& ]8 u5 m6 F* s: e2 e) q42.二项式转函数花指令7 n8 X8 P4 K2 C' x" v$ H; J
43.代码的逐行加密/ J* @) {* ]: y0 t2 Q% d. W
44.代码的逐行ASCII码混淆
. P; ~% q1 V5 N# {45.完整的代码与处理后的效果
: q; W; P1 y8 w46.实现流程平坦化混淆1
: Z3 j9 s7 \+ K Z G4 I47.实现流程平坦化混淆2; i: P* z1 ?$ s8 G" x% d# v8 o
48.实现逗号表达式混淆17 c0 d- T5 a) T: X, W# P, }/ a
49.实现逗号表达式混淆2+ A1 m) G. ?# F8 B" z- M g0 }7 `
50.分析网站使用的混淆手段0 q8 i# ?- E* O/ P8 b( U. e) ]
51.还原代码中的常量
- @, c% _5 G/ Y+ K8 F52.花指令剔除思路* \. C2 _) `8 h
53.字符串花指令的剔除& e$ V( Y; L7 s1 D
54.函数花指令的剔除
9 t* x( k) T; m3 d1 k1 n55.还原流程平坦化3 l+ o8 D3 A& T# ~, X
7 ]& b# I- H; e! O5 \5 a: V
|
|