|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。* z4 Y; M" `) f4 P) i1 T
课程内容:
+ H6 F1 L/ W/ p0 A0 z) l$ ]00.课程介绍
; B, g9 R- k1 S& ?- Z: d/ T01.环境配置
7 C# \( x) j1 k$ y2 {02.对象属性的访问方式
- b6 T: S. ?+ c! |+ G) \! L8 P) t04.unicode字符串
( c1 A# Q$ a7 S8 ^9 f# H$ \05.字符串ASCII码混淆
; u; m% x2 c9 X. t, S* Z06.字符串常量加密0 V& G6 O1 V% a. J# I* Q$ n
07.数值常量加密- k p. [) s7 v6 N
08.数组混淆: |4 ~3 |- Z h( h8 k& I% v3 }
09.数组乱序
0 }7 O2 b+ T0 {# z9 K10.增加JS逆向工作量(花指令): X( L! M7 p1 W) \: ~; R
11.jsfuck% Q {, I) U1 z5 d: t/ l
12.流程平坦化! V7 @" V$ S: L- c* d; u2 f
13.逗号表达式混淆1. |( ]6 ]# i! G0 |0 q, U8 r9 z1 L
14.逗号表达式混淆2
5 v2 y$ A9 v1 v# C+ Z9 ^15.eval加密* k8 |) {6 b+ }% O3 k; l
16.内存爆破8 g2 g3 k) P+ l; D
17.检测代码是否格式化
& i. v4 j- i+ v+ M18.AST的基本结构
" c% F( X$ A) [& z+ \( m( `; ~19.代码的基本结构
: s$ p) w. a1 ]) @3 F% c% g20.parser与generator E8 t9 m/ d1 B. C+ l% b
21.traverse与visitor) {, D6 M5 N' d* P
22.types' n$ C6 ?- r* P- i
23.Path对象详解(Path与Node的区别)
8 O0 {! j% U% q- ?4 @24.Path对象详解(Path中的方法)
+ }) [# J2 Z$ m' [7 m# @7 D- A( C25.Path对象详解(父级Path)+ @: y( Y# j& Q( V0 r! N. \: x
26.Path对象详解(同级Path) ~! P n7 n, P b7 B
27.scope详解(作用域)
8 D" Y2 I/ l8 c( ?% F28.scope详解(Binding)
- `. d Y0 r* i; y0 A X29.scope详解(referencePaths与constantViolations)# J2 q! l- }- Q
3.十六进制字符串
. Y! i, U$ d& V) w30.scope详解(遍历作用域)5 I3 l! G0 n$ K7 a0 |
31.scope详解(标识符重命名)
7 p( i j" |) o5 q32.scope详解(scope的其他方法)
0 ^/ L$ a7 N/ w33.改变对象属性的访问方式
0 O9 V, o: u/ ?* ?5 v5 S" b34.JS标准内置对象的处理; ^0 w6 [- Q* p( y% [$ O4 g
35.实现数值常量加密* k& p" s7 N7 x/ L* m! ~ W
36.实现字符串常量加密) J% }1 P! |' e- ?5 B
37.实现数组混淆. V5 [' `; L6 b: _; N
38.实现数组乱序) r" J; S% m- ]+ W% {" P
39.实现十六进制与unicode字符串
- V: H9 ^* Y6 T$ q5 r. j40.实现标识符混淆* ~9 I7 u+ n' c/ Z
41.标识符的随机生成* R5 D( P3 u) v7 \ V6 J' }7 S
42.二项式转函数花指令* g1 i4 B+ p( U; S
43.代码的逐行加密
8 W+ u1 F. T+ A) X% a44.代码的逐行ASCII码混淆
3 B# t" h0 l2 Q+ ]3 A" V45.完整的代码与处理后的效果
/ W5 f# X3 g5 l5 r7 k46.实现流程平坦化混淆1
/ a4 J" ]1 K4 e47.实现流程平坦化混淆2
5 j4 G& B5 v9 M48.实现逗号表达式混淆1' G/ i B' f s( x, V1 `
49.实现逗号表达式混淆22 \' ^9 N( g ^+ L! `! j2 N
50.分析网站使用的混淆手段 k3 F/ }6 E' v) h" S, Y
51.还原代码中的常量
# d5 v( I1 k @. U6 B. e: U" o4 V52.花指令剔除思路0 J$ t" j( Z- V5 f
53.字符串花指令的剔除% z& c7 A7 Z8 w( @
54.函数花指令的剔除
) }6 r5 \' `% e m55.还原流程平坦化
5 c; X9 z9 g7 Y4 T* ?( }3 N . l6 i' a$ ?+ m2 R
|
|