|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。$ l# ^$ @2 }5 j/ D" s
课程内容:
/ f( E/ z' W q00.课程介绍
3 o/ V8 P9 c* y- I. {01.环境配置2 r8 L' o) y1 u! Y2 E( j
02.对象属性的访问方式8 \9 C% e2 s$ n2 r- P3 D6 c
04.unicode字符串
" J, i1 X% y8 N9 j05.字符串ASCII码混淆
5 J$ Q0 H$ B& z* j; u* ]06.字符串常量加密( a5 T& d9 r! d/ ^9 ~
07.数值常量加密. a/ V8 Z' h9 \7 U1 B) V
08.数组混淆
0 V0 l: Q# l6 I; Q8 g( G# u09.数组乱序$ t Z- E; a W) y; X7 G( m
10.增加JS逆向工作量(花指令)% Q. s! T' z. a! q+ O
11.jsfuck' l( p0 C x ~6 Q# ~2 R9 t5 y: @
12.流程平坦化
7 m2 J" v4 L8 K" L13.逗号表达式混淆1
) w4 r' c0 I9 k14.逗号表达式混淆2
% R5 h8 p- I' ~; N# N15.eval加密
( ~: [/ ?* M. x: o8 s/ ?9 x) v1 r16.内存爆破4 Q9 T$ _4 W: b/ c. B* I) g
17.检测代码是否格式化) _1 V4 X/ B& \
18.AST的基本结构$ M G" U' L! n+ P; E
19.代码的基本结构+ }+ x" i+ o x4 u& q4 k
20.parser与generator' Y* Y8 Y1 p! l1 s$ A6 O5 A: O
21.traverse与visitor
. Z( t+ i; O) Y# [% V8 j8 _, J22.types$ P0 o; Z' {) G1 V7 x3 y3 |8 b
23.Path对象详解(Path与Node的区别)- P0 q @& f7 `4 U# M2 A* a
24.Path对象详解(Path中的方法)5 J# q. q/ h0 `3 M$ m; s+ @
25.Path对象详解(父级Path)
2 ~/ |. g0 x, M* C* @26.Path对象详解(同级Path)4 l6 c1 n5 |/ g9 j
27.scope详解(作用域)4 R. w- h0 r, A# x* [2 \
28.scope详解(Binding) L, p' I/ Y5 u' z# n
29.scope详解(referencePaths与constantViolations)
4 ?: b' o) `. [4 H& h- T3.十六进制字符串
- R u. A$ s& }% U+ |; ^9 e30.scope详解(遍历作用域)
8 `8 h: A( |. J! A) {# j* M31.scope详解(标识符重命名)! y& {/ a& G" d% l
32.scope详解(scope的其他方法) ~+ @* G: {; a2 N6 v1 F( u0 D% R
33.改变对象属性的访问方式/ j: Q% ?9 t% n+ A' s3 N" m
34.JS标准内置对象的处理: B8 R; a& H/ {( f8 N7 f7 ~" B0 d
35.实现数值常量加密+ V9 v& t3 [2 C
36.实现字符串常量加密
. \6 L C S, a5 R37.实现数组混淆
+ b: {; j( Z6 M9 {38.实现数组乱序
5 k' ^* p" L; C39.实现十六进制与unicode字符串3 ]/ G& z6 f" A Y
40.实现标识符混淆, |2 d( Q7 g% a6 p+ B
41.标识符的随机生成
9 Q6 F7 B1 J; Y) ?/ n$ T: l42.二项式转函数花指令3 a$ @) Y3 a3 e3 _" G2 t
43.代码的逐行加密
% C0 U$ Q' w$ G# [( V- |& B( k/ k44.代码的逐行ASCII码混淆
7 a- E# ~$ [* m3 U) K/ C45.完整的代码与处理后的效果, r5 Z) z2 c% ~' L: ]
46.实现流程平坦化混淆1
, U5 J8 ]$ n, K; s5 g1 s! T7 `47.实现流程平坦化混淆2
1 D( e; `! @- `! c! V2 j48.实现逗号表达式混淆1* @% L+ Z9 q7 v$ `& t8 O3 V5 m
49.实现逗号表达式混淆2
/ M. W* B0 E. x" T50.分析网站使用的混淆手段6 f/ u2 D: R# N/ |
51.还原代码中的常量
3 y8 S5 q$ c3 B52.花指令剔除思路
4 B3 q; {9 P5 d% W53.字符串花指令的剔除
" B! `+ `3 W, X% ]54.函数花指令的剔除
! K1 W3 p# a" l) K: @55.还原流程平坦化
" b6 ~) {# y5 D6 h' J. l$ c2 V& m
: t' f6 k5 x4 a5 p8 F
|
|