|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
s# |& z' V% H# H* S% g/ W- p课程内容:5 |. @4 y4 A, o* i" ?/ q; s/ ^6 y
00.课程介绍
) C- M3 l: H4 K4 O5 r01.环境配置* D [' ?2 I* j4 j |. U
02.对象属性的访问方式0 n/ L) o, \+ M+ l: _( a) z/ q
04.unicode字符串
6 ?8 K) [' f+ s+ I05.字符串ASCII码混淆
' l3 @% P2 n8 E0 c06.字符串常量加密7 w% N: @8 g# j0 ~, L) I1 a/ E
07.数值常量加密3 P' j2 s1 P: X$ Y: Z$ U. K y
08.数组混淆 m: o8 t" b5 U6 P- H3 o
09.数组乱序
0 N9 y: _! {: d! B. Z. R10.增加JS逆向工作量(花指令)
/ `. `* \) @: y y/ ~) a+ b; V11.jsfuck* T" `# l3 F" H
12.流程平坦化6 U4 }# D1 B# h1 s# F5 \
13.逗号表达式混淆1
4 O% a6 f! R' } }8 \) e14.逗号表达式混淆2
: o0 j: c+ n) v2 ?15.eval加密, Z. H7 J1 [/ `5 K- o4 l. r, B9 z/ I
16.内存爆破
& P: Q3 n8 z; |' V" G17.检测代码是否格式化
8 |) D& Z# M0 b8 n( C18.AST的基本结构 [! p2 H$ C! i; ^' n8 f6 |- ?5 z
19.代码的基本结构
/ Z' d7 Z/ I a$ `& d6 I# |+ _1 j20.parser与generator
4 L. t6 N) m8 B1 @" @4 N3 ^4 [21.traverse与visitor4 N2 A/ }# Y! n+ q1 C
22.types" |; U5 D+ s1 d; C) o7 o& o5 @
23.Path对象详解(Path与Node的区别)3 w' E* y$ w, a9 j/ V
24.Path对象详解(Path中的方法)" `/ s. ~2 C; ?1 Y; F) g
25.Path对象详解(父级Path)( k' R% Q# k6 i; G0 z
26.Path对象详解(同级Path)
) c& A5 h3 B. Q27.scope详解(作用域)
; w3 @; h1 d9 d7 e, E* I4 o28.scope详解(Binding)1 t: ^) j1 ~, O5 G* f* B0 u
29.scope详解(referencePaths与constantViolations); k$ ? b7 w4 U# N& [
3.十六进制字符串7 M* B) T: d9 T' P' D8 J! @1 m$ g, I
30.scope详解(遍历作用域)
7 O2 v: ?; c7 U31.scope详解(标识符重命名)
* C- d- o9 p) o0 S! ]32.scope详解(scope的其他方法)
# C2 V/ A& M0 Y. ?+ j6 D+ p+ \33.改变对象属性的访问方式8 e1 d q* G% P" C
34.JS标准内置对象的处理
6 i+ C6 | x1 Q7 S W35.实现数值常量加密
, ?4 f A! l. M' K3 J' A4 q36.实现字符串常量加密
: F* T* Z5 }9 T4 W" J V( g7 S: W37.实现数组混淆$ r% E$ t( K& v. u$ M
38.实现数组乱序; g$ g: Q9 ~. d7 z) q* Z8 C
39.实现十六进制与unicode字符串+ X G1 L6 Q2 S- t- ]$ @
40.实现标识符混淆
1 M; W+ [/ K& C, f% t# {% [41.标识符的随机生成) n2 T3 V7 c9 x U
42.二项式转函数花指令
) v: J( Y1 J# ^6 f2 y) w* b43.代码的逐行加密0 F/ K2 r7 u+ \- I- S: W" `& r2 A
44.代码的逐行ASCII码混淆
/ i% r3 j! A2 n: ~6 Y1 J" W45.完整的代码与处理后的效果0 x) d. a( z$ s4 _5 k
46.实现流程平坦化混淆10 c8 T, k6 v' }# a, _
47.实现流程平坦化混淆29 |) y0 |5 _1 A
48.实现逗号表达式混淆1' E! ~) q0 U5 D! ?2 k P
49.实现逗号表达式混淆22 `. F% i* V7 c' a9 b
50.分析网站使用的混淆手段# n. R- L5 q7 @% ]8 H1 H( l9 D- X1 o
51.还原代码中的常量; `6 Z. V, \6 f& o+ `5 i
52.花指令剔除思路. a) E4 w) ]& D( @
53.字符串花指令的剔除
' p2 Z2 x4 g7 m1 u54.函数花指令的剔除' ]/ T H% ~" x. \$ {" G; X
55.还原流程平坦化
* E* y" k0 j7 }6 j+ D+ |" ` # C. h& ~" h9 F5 O1 n* \4 H
|
|