|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。+ {2 r/ ]- }% w8 l+ A9 P9 x. \- l
课程内容:
2 u$ G. ?+ F' {: V7 {' ?00.课程介绍0 ~1 \: w1 L# t& A
01.环境配置
: y) N" Z4 W/ F; a$ y9 ]02.对象属性的访问方式
- O2 R, E3 H6 \+ h2 F4 K04.unicode字符串
1 d2 w9 r2 a) ?- l1 ?05.字符串ASCII码混淆
1 d2 |8 P& g0 f06.字符串常量加密
6 k1 f% @/ W6 t. ?0 X: N07.数值常量加密/ y" F" s' ]" @# |
08.数组混淆! v2 a7 O W" x0 S$ A
09.数组乱序
( _! A; n, ^! u v9 g10.增加JS逆向工作量(花指令)
. _# I! w; Y. p9 {8 I' A11.jsfuck- e' y! o9 J' b0 M- _
12.流程平坦化
- A# ?) _+ A2 E |8 `3 {4 ]* F13.逗号表达式混淆1
1 C3 | c+ q& S+ t' {- Y6 a7 E2 _4 j0 l14.逗号表达式混淆2
4 Z) A; q2 ^$ i& J/ G15.eval加密
% B* G% Z# z6 a' G! Q# J16.内存爆破
% n; A, M& j2 z- Q- I. S/ G17.检测代码是否格式化+ C1 s8 W6 d" R
18.AST的基本结构
0 A- N! V" x" C4 h0 S- d19.代码的基本结构, @) V" J" e9 T5 l) u# ^" L7 t
20.parser与generator
M$ }* V( l2 `' ~/ @8 p/ l21.traverse与visitor
6 J; C8 r2 `! S' `7 w: A w22.types! z3 ~6 x- `% K P+ {
23.Path对象详解(Path与Node的区别)
3 g" f' F: h$ K6 [. H# s! e24.Path对象详解(Path中的方法)
( X' Q5 |) q. g& X5 t" _! d25.Path对象详解(父级Path)% p. w# u+ ?8 Y |1 M4 N
26.Path对象详解(同级Path)
* D4 F8 W0 Y4 o: |7 [, x! }27.scope详解(作用域)+ I) O$ `; q3 S7 `$ s
28.scope详解(Binding)/ v9 w8 N3 C: h
29.scope详解(referencePaths与constantViolations)
% A) a" y; x! ]) a% [3.十六进制字符串
& j* Z$ A ]( n' B- R0 e' D# w: W30.scope详解(遍历作用域) F0 V/ w, U( z* X4 d
31.scope详解(标识符重命名)8 z% U4 [8 w/ u' {" Q
32.scope详解(scope的其他方法)
' \1 ?) L' F6 `0 o0 ^3 W5 }33.改变对象属性的访问方式
6 H6 a# I( K. h4 z- \3 q- O34.JS标准内置对象的处理
i1 d3 `( J0 c: v# r; g35.实现数值常量加密
2 s0 J3 P% X0 G) B1 }5 j) i36.实现字符串常量加密 m7 U1 y8 U! R: `' z% N- t$ I
37.实现数组混淆
. X' q5 T, F1 t) X, Y38.实现数组乱序
% Y I0 U' d9 }$ t39.实现十六进制与unicode字符串
7 ^/ T' L7 F& l6 }40.实现标识符混淆0 S& u! z" T, T8 y+ H
41.标识符的随机生成% @# y* g, U# ~ x- V p
42.二项式转函数花指令 x* j/ T; w1 J3 G
43.代码的逐行加密
1 c$ T+ w% g2 F( ~44.代码的逐行ASCII码混淆) r: C7 r8 R4 t& F- ^
45.完整的代码与处理后的效果
: X$ c3 t: N7 P& `46.实现流程平坦化混淆1
3 Z* ]- d6 w& T$ p1 B47.实现流程平坦化混淆2
$ }1 Z0 b5 S8 \) E/ p48.实现逗号表达式混淆1
1 Q. s5 X) s3 n9 h49.实现逗号表达式混淆2# t+ u# J4 q3 w( {6 b+ v' O" ]0 C6 ^
50.分析网站使用的混淆手段
~. h: R/ f, z! x' C51.还原代码中的常量
# |: D7 H5 `0 B( K* _) s52.花指令剔除思路# _4 E! M8 E( W0 Z) E# j9 q
53.字符串花指令的剔除
) z4 Y$ i+ Q: o54.函数花指令的剔除" h$ C- @# R$ l; W0 B% K
55.还原流程平坦化6 M) |4 l, o" ?1 N& ?6 E B+ x' a
, [6 s) Z( L7 b; |- ^: C' G/ v+ C8 h
|
|