|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。( n5 g6 d- d7 j0 I- E \
课程内容:, c* f' J; @$ p1 d A
00.课程介绍
6 w1 d+ X5 P$ B01.环境配置5 n, A C0 ?4 C8 h) b; b* Q$ _3 G
02.对象属性的访问方式
3 B' M$ T9 k5 j% ^04.unicode字符串
" ^$ t _) R0 Y9 A P( f& [05.字符串ASCII码混淆
: S, { _+ f3 k7 G `06.字符串常量加密
- E1 j' E* q" _, [2 U07.数值常量加密
8 q, K+ p5 j9 @; z08.数组混淆- J( V. {( ^) Z3 H5 f0 i0 D6 p
09.数组乱序
2 [. a8 d0 [, e) w. T! X5 f$ W10.增加JS逆向工作量(花指令)1 v8 i/ l; W0 @ x
11.jsfuck
! X+ e2 @+ H1 q. |; E% v12.流程平坦化
- u5 |) q- G" t* C' l2 }; _13.逗号表达式混淆1& ]7 ^5 z! Q5 z* B% j/ y* p
14.逗号表达式混淆2
" I: R y$ l6 n6 `0 B1 o15.eval加密
* r+ d! h8 v* Y0 ?1 |! |$ ]# k) D16.内存爆破
; w' N. \2 e. D! e3 B17.检测代码是否格式化% ^: Y" |# e, e) g" `4 _
18.AST的基本结构
9 {; }0 F u; L0 Y! I19.代码的基本结构 T# H, J! \6 e7 i: Q2 L
20.parser与generator- Y% r6 I0 w5 o, g2 V9 G; r3 o
21.traverse与visitor: _( c0 I& Q! T2 A! e+ B
22.types
2 m& t0 _; d ^1 m0 }& s23.Path对象详解(Path与Node的区别)5 \+ N/ j2 ~! I" X5 f' H! S
24.Path对象详解(Path中的方法)4 j2 r+ t9 C% c( h9 R4 [
25.Path对象详解(父级Path)
" y. Y2 Y! G' I/ D26.Path对象详解(同级Path)
6 C6 Y* |2 T2 J+ _4 d27.scope详解(作用域)
5 q( T+ F$ |5 n/ s& }* Y' U K28.scope详解(Binding)1 l, B" c- x9 d( k$ [
29.scope详解(referencePaths与constantViolations)
5 U7 Q% U1 f/ \0 H) \3.十六进制字符串
- P6 O5 _" w! {& F p1 O# Z30.scope详解(遍历作用域)
4 W: T2 |) J3 a6 W2 P7 s6 N31.scope详解(标识符重命名)
* D: \1 E( v7 T; o4 E- b3 j32.scope详解(scope的其他方法)- x2 @! Q) h9 y
33.改变对象属性的访问方式" h. D% ~/ \- i% B( V4 x
34.JS标准内置对象的处理
+ m7 o9 d! L9 N; H35.实现数值常量加密
) n5 r& i2 U% W, x8 G36.实现字符串常量加密9 j9 `- F! T J+ u, f" ?5 O7 l; o
37.实现数组混淆) a$ W( i0 Z! E. p0 i- Z
38.实现数组乱序
# B1 {1 Q+ A& e' w8 a39.实现十六进制与unicode字符串
8 \) N" W2 ]/ V* ~40.实现标识符混淆
f- E5 _8 B. i5 T2 J# S6 _41.标识符的随机生成! @+ `0 r5 D, M4 Z6 w
42.二项式转函数花指令
) U/ Q! d z9 [! _1 N1 ^5 [) H9 }43.代码的逐行加密5 V8 H8 Y4 \) K2 Q; p2 x2 {3 t
44.代码的逐行ASCII码混淆
; _ f6 j u, P K/ y45.完整的代码与处理后的效果
$ R. j, W; K' |6 _46.实现流程平坦化混淆12 C+ I$ `. S( K, S5 w
47.实现流程平坦化混淆2+ B3 z$ w. a% _8 o \
48.实现逗号表达式混淆1
) y$ L/ ?7 O4 R6 I8 U49.实现逗号表达式混淆28 r+ o5 \0 i4 p1 j' n
50.分析网站使用的混淆手段
& R8 v* u6 q2 r& r51.还原代码中的常量
. M, g% e% I+ L3 a52.花指令剔除思路
2 i/ D9 d7 n5 K7 q3 N7 V5 K( V. ~53.字符串花指令的剔除
* K3 ?& U; P" v1 X54.函数花指令的剔除% u8 I/ y( R6 ]' E6 P, `% ^
55.还原流程平坦化
G3 ^* @0 e$ G% Z 6 ?# ~: `- y, U- x! `! c/ K
|
|