|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
: S. I2 ~1 X# n) C& ^! ~+ n* d" P课程内容:
* T+ s# R' a6 [3 c5 k00.课程介绍
. @ {2 p. W5 K# t9 X+ N- Q01.环境配置
$ f i9 k* B2 D6 p1 D8 T# \02.对象属性的访问方式
2 U* E) m. p2 s X04.unicode字符串) K: |, _( g q
05.字符串ASCII码混淆, H# p0 ^/ b+ A' n! \' L! ^
06.字符串常量加密: j7 P3 V* L) Z; x8 }8 x
07.数值常量加密( I0 n( D: Q; T) L: ?7 k
08.数组混淆3 l) P) W8 D: H" K+ T$ \' b
09.数组乱序9 ^+ g" \2 o T% F- y
10.增加JS逆向工作量(花指令)' c, Q. Y+ \! F$ B8 \+ Z! Y
11.jsfuck6 s6 d, p3 F4 ?- a
12.流程平坦化; H- I9 A& ^- A- a3 c
13.逗号表达式混淆1
9 S% @1 ]: \8 u/ L4 K9 X14.逗号表达式混淆2" W, S0 m" P( U& Z. R$ \
15.eval加密. a6 U& n# u# d7 x% \" x* Z/ c
16.内存爆破" q% f3 }* V& ~- q
17.检测代码是否格式化0 U9 |2 v# T% f# s v+ p
18.AST的基本结构$ R/ U4 i+ x6 p
19.代码的基本结构
( K" j' t2 b! Q! a1 N( O$ f20.parser与generator- b$ E* c/ j! z+ B# u' \6 z
21.traverse与visitor1 N; `0 {% f: e: a
22.types# D/ ]) ~. i; d% I" [7 `* P$ w
23.Path对象详解(Path与Node的区别)
2 \; R2 k4 {' {3 w. k# t% v4 s) G24.Path对象详解(Path中的方法). \" D4 u( g0 ~' W V) J, s
25.Path对象详解(父级Path)
0 c0 {+ P9 y" h7 C1 E2 _9 `26.Path对象详解(同级Path)
5 ^1 T' i2 e0 l7 w+ a, R27.scope详解(作用域) s( Z4 S* s; {( |! C" I5 S7 M
28.scope详解(Binding)
( C/ i7 S4 T( C! e29.scope详解(referencePaths与constantViolations)" R: z: f7 ]7 q" Z6 G& {3 j
3.十六进制字符串
: _6 A3 D o. n* M30.scope详解(遍历作用域)9 U% l: [7 I3 @! g: p
31.scope详解(标识符重命名)
# N% f5 y! J: q* g9 P0 W32.scope详解(scope的其他方法)
7 V/ m' Y6 K2 _33.改变对象属性的访问方式
; f* r! G4 K7 a0 `7 e. N34.JS标准内置对象的处理
0 O* P" Q' Y$ j35.实现数值常量加密# F) C9 F" c. A4 g. p6 n+ O# F. g
36.实现字符串常量加密 i7 q" P% L0 ^* N: ^
37.实现数组混淆" K- x3 B# D2 b0 M, {( k
38.实现数组乱序
9 z4 Q( c6 u( x$ j' f3 W39.实现十六进制与unicode字符串
7 ?4 R$ _, [- V2 O- X40.实现标识符混淆' y/ J8 ~! @, c( m& I
41.标识符的随机生成7 o: z0 c/ h4 P# M$ I3 o; M
42.二项式转函数花指令6 D4 B1 `8 ^/ {& S' W/ a2 Z2 D- d4 y
43.代码的逐行加密
( n$ g; U( b. C44.代码的逐行ASCII码混淆0 t% D/ t4 G x8 w
45.完整的代码与处理后的效果
. W# D9 h) d" w4 u46.实现流程平坦化混淆1' ^ H3 Y. c4 z! U) X$ w
47.实现流程平坦化混淆2: O/ _; [% r: ^4 |" u
48.实现逗号表达式混淆1
2 T6 ^0 n% W& @* E/ O6 [: R49.实现逗号表达式混淆2! {6 r/ W7 g' s% n
50.分析网站使用的混淆手段% C) P% d% F% S, ?' V* U6 f, K7 s
51.还原代码中的常量1 X- V7 H7 t+ I+ G/ w+ k
52.花指令剔除思路
3 b8 F! v0 E5 |: w/ j53.字符串花指令的剔除
9 m1 q# L+ B- d$ _" N54.函数花指令的剔除
/ i8 Z. L7 u# F' S) Q55.还原流程平坦化( _/ v R' J5 [# o% O
7 b: [8 ^) {" p- W4 q
|
|