|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。. a, K5 D$ c/ C; E
课程内容:
7 ? c6 B$ |4 J) q! y" K0 i. g00.课程介绍. C9 E5 h( A& F P, I2 J
01.环境配置
' t' Z5 w5 ]: v' v% Q. ?$ |02.对象属性的访问方式( W# m4 B F9 ]- h4 _' I4 M& D
04.unicode字符串* j6 ~( L% ~. G& Q
05.字符串ASCII码混淆- [+ ?0 m( Q. n8 C0 T, A! Y
06.字符串常量加密1 k1 `2 b F. W Z/ y
07.数值常量加密& Y. A! N( `( q. |* ~; E7 v) j
08.数组混淆
0 O( ^9 a; W4 _$ O09.数组乱序$ _% y& W. O; o& W5 I0 b. P% ^2 @# D
10.增加JS逆向工作量(花指令)9 H; l, S. p4 n$ j0 Z$ \* \
11.jsfuck2 A* i! d3 a, V# }
12.流程平坦化! c) V) y5 h, w' Q4 [6 H5 v* l2 U- c
13.逗号表达式混淆19 X0 y3 ^9 ^+ {, l+ E
14.逗号表达式混淆2
% p8 Z& |( z1 u; G. k15.eval加密6 V+ {! ]# F0 s. b3 O
16.内存爆破1 E& c' A$ z. M. L
17.检测代码是否格式化, y9 ?7 D, w2 H( w
18.AST的基本结构6 o* R1 H& a, ?& C# T F
19.代码的基本结构
% R' K E5 B) `9 t% g20.parser与generator5 G6 k! m8 }3 ?) ?& [
21.traverse与visitor
0 q0 o1 n& _; V3 C& v5 @( `2 Z& J2 |22.types
- ~9 P* `8 m# q8 r% `0 H U7 Q23.Path对象详解(Path与Node的区别) q5 y! m+ E/ B
24.Path对象详解(Path中的方法); |. H t7 D. q! i6 r
25.Path对象详解(父级Path). X9 g% f% X; q" W, f
26.Path对象详解(同级Path)
/ s. A) k; w/ k# U& K- s27.scope详解(作用域)
) m3 t- |2 r; a% Q7 U9 i i! y28.scope详解(Binding)3 Q( z: @7 W" I
29.scope详解(referencePaths与constantViolations)
& e, O+ @5 I% m2 ^4 i" G) j2 ~! R3.十六进制字符串1 V" m. n6 b: O* [
30.scope详解(遍历作用域)' B {6 K1 P4 Q( W
31.scope详解(标识符重命名) c8 U8 S, a. C6 p! L( }$ X* n) ?
32.scope详解(scope的其他方法)
; X2 A7 g- I0 h6 _33.改变对象属性的访问方式
. x# \0 i3 D5 d* E1 h" B34.JS标准内置对象的处理
" }2 A' x S% X/ k/ m+ e! P' x8 }35.实现数值常量加密
! }8 U" w) m w# O, M" F+ E36.实现字符串常量加密
6 B" F$ X& J9 ^7 l37.实现数组混淆: J7 E6 U9 \! D6 k1 S1 g
38.实现数组乱序8 U- m2 h% x5 `# e3 K) v7 m
39.实现十六进制与unicode字符串; ?( a* A9 w# T+ Z+ s+ `
40.实现标识符混淆: j) o& U0 c* @1 L/ m
41.标识符的随机生成. O6 m- _5 G: B7 X, W @8 H6 Z! a
42.二项式转函数花指令
! n3 G- T" v( t- h43.代码的逐行加密
; t; J, }& }/ L8 r8 i9 |+ o44.代码的逐行ASCII码混淆
0 H0 |; v5 [* n$ h45.完整的代码与处理后的效果
$ S4 x0 I. q: X. @* f+ J4 C46.实现流程平坦化混淆1
4 Z4 B5 h; V) _47.实现流程平坦化混淆2
' }" ?6 I8 \' ?/ b" x9 v! s4 Z48.实现逗号表达式混淆14 I0 Q( e+ M* D F$ Y$ Z
49.实现逗号表达式混淆29 r$ `: B! ~: v. K; @ p+ v
50.分析网站使用的混淆手段
8 ^7 b# C9 J5 s51.还原代码中的常量" r; R+ e" g! P& m' p- D8 k
52.花指令剔除思路0 x* x0 {7 d" r: D6 |
53.字符串花指令的剔除
0 _0 p. `! R8 w/ \: Y3 B' o54.函数花指令的剔除
) @7 ^- [4 g( E55.还原流程平坦化3 i1 r7 F5 {$ }
7 `$ g" L6 z1 |9 l! _
|
|