|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
+ o1 q/ I, Z3 d7 ]* p, ^' I4 ]课程内容:8 e z# B$ _7 L; G% g9 y% k5 o
00.课程介绍! s! f. Y) T. I: M/ m
01.环境配置6 U; R: }9 i% O
02.对象属性的访问方式
" q% z2 x, ^& ^, ]& @$ ~04.unicode字符串8 Y- x$ ]4 t3 S% H/ @8 N3 d/ p
05.字符串ASCII码混淆
3 p) w% L& ?" ?! }06.字符串常量加密3 D. D. W# {9 V
07.数值常量加密6 F' X+ S+ O3 I6 e# V- ?: ~; a
08.数组混淆
1 b) n1 u- {0 N/ |09.数组乱序
! [0 ^& c* w2 v1 u. d10.增加JS逆向工作量(花指令)
" k. z* Z1 c$ {: j& j1 U" _ F11.jsfuck; g& d; `( E# W' g
12.流程平坦化4 r0 M5 f% U/ F
13.逗号表达式混淆1
7 r$ ?. H' s& n/ r. T" @14.逗号表达式混淆2$ h4 h- {+ W- I
15.eval加密( h0 O. \( _/ [
16.内存爆破
/ v2 D8 _1 A* ]9 M17.检测代码是否格式化
+ s( d+ P. R/ J4 T! j5 I18.AST的基本结构
+ l( S5 P0 h; Z: @* A19.代码的基本结构) v y5 ^$ n* ~! Q. S3 d
20.parser与generator
+ [2 u9 \7 H4 l# I1 A) }* f21.traverse与visitor
$ @) @) J" S/ q5 R& ?0 m22.types$ _/ d8 s' k+ P4 w+ ]
23.Path对象详解(Path与Node的区别)$ q5 b% n0 Z' H% g
24.Path对象详解(Path中的方法)3 v a6 W. {6 e& y1 }/ b, z
25.Path对象详解(父级Path)6 ^! _* q6 ^+ m5 o7 s
26.Path对象详解(同级Path)
% y0 Q% y0 a/ e/ ^27.scope详解(作用域), }' ~2 \3 T$ [, e; k( ]2 f: X W
28.scope详解(Binding)
% b' `) |- u m: _: {% F29.scope详解(referencePaths与constantViolations)1 a7 p3 t3 q7 [$ T
3.十六进制字符串
% f$ U+ S. a$ q5 @5 p30.scope详解(遍历作用域)
- b1 {9 P- M3 S' J: y2 e31.scope详解(标识符重命名)
7 E5 g$ w/ N# w- v3 L5 g3 ~32.scope详解(scope的其他方法)
7 f! |' d% t6 \3 G33.改变对象属性的访问方式) ]# j9 w4 ]: P
34.JS标准内置对象的处理9 t! ~3 w# B$ h( W F7 t6 n3 h
35.实现数值常量加密
4 l5 \2 N9 a# ]3 `( J# D% m7 W z36.实现字符串常量加密8 u, S/ G1 e: w. Y- @$ z2 a
37.实现数组混淆
; ^( J$ H u& l2 y38.实现数组乱序; B' z. }2 p. [. H
39.实现十六进制与unicode字符串* N5 I, F9 C% t/ s, J0 Y, H
40.实现标识符混淆
5 {4 F2 _3 ~" n5 m" F/ H5 V7 @41.标识符的随机生成
# x8 n# t; _$ J42.二项式转函数花指令4 {# ^. ^ W) u3 O) l
43.代码的逐行加密
3 ^% C+ g3 l3 }7 D' B6 S44.代码的逐行ASCII码混淆' d' _1 X% l9 j% \8 y' g" z
45.完整的代码与处理后的效果
7 ^4 I+ A0 A7 G: K1 E4 u# C8 X46.实现流程平坦化混淆1
) g) Y: h5 M+ B5 a/ ]47.实现流程平坦化混淆2. P( a/ G1 ~2 a
48.实现逗号表达式混淆1. z, B1 L# w( n0 C! D$ |
49.实现逗号表达式混淆2( i# d: m0 j: o
50.分析网站使用的混淆手段7 d) k+ v5 R8 T' N: F
51.还原代码中的常量7 d4 z9 T" {4 m/ ~2 X3 X! v
52.花指令剔除思路) r: _- u7 V( ?9 y% G
53.字符串花指令的剔除! t3 p3 F' x2 q9 |4 C% U
54.函数花指令的剔除* M# m; K3 [+ p3 k! z% V: h
55.还原流程平坦化8 L! f& V. b; B" p
& l4 i- K. f7 F: n
|
|