|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
5 d: w: |' J) [ N9 g2 L课程内容:
/ U6 ~; L% ?. p+ M$ T" B00.课程介绍
" h$ D W8 j6 d, x3 ~; x0 e1 T01.环境配置, R) J5 u2 r# J q" G! H
02.对象属性的访问方式: S3 M4 {! Z# ]# a, [* H! ?! Z
04.unicode字符串1 B8 a! z& |+ D5 u" l
05.字符串ASCII码混淆9 F, q/ e$ b# w: q
06.字符串常量加密3 Y( q7 ?% O; J ]5 b
07.数值常量加密0 Y/ ?: h" P" w2 b$ o' A6 j
08.数组混淆
: |! r' @6 {( s% K+ j( l09.数组乱序- h5 d: |$ [8 }: r/ E' h8 L7 G
10.增加JS逆向工作量(花指令)
) i& {7 W; H0 q8 r% H7 R: m) m: M1 M11.jsfuck9 b1 O. Y/ D+ h$ t; ?8 |' A
12.流程平坦化5 {, N4 X6 d/ k
13.逗号表达式混淆1
9 r' @- ]) I4 Z( t1 d: x) Z14.逗号表达式混淆2$ B1 B7 P" j0 C2 K
15.eval加密
! [% L/ V) \( ~7 h# X16.内存爆破
" X' a7 ?6 `7 A6 r$ r* H17.检测代码是否格式化! w& Z- Q6 v7 h% Y5 A" C
18.AST的基本结构. W2 R- j1 D% C5 d) k
19.代码的基本结构1 y: P0 I; E5 M5 ?" h7 D, i: ]! {
20.parser与generator
4 z6 q! L, g4 B. G21.traverse与visitor( M; @$ S- e& |% b( F7 g& Z
22.types8 I, t4 Y8 j3 \1 v
23.Path对象详解(Path与Node的区别)
) ?8 O/ r& @. Z2 N24.Path对象详解(Path中的方法)
% K8 u5 u- D3 K: O* _7 [" A25.Path对象详解(父级Path)4 C/ f+ m0 ^3 p- Z J/ k
26.Path对象详解(同级Path)8 c8 D8 W& q$ z. H l3 s/ ~
27.scope详解(作用域)0 t& c( v2 a5 F2 Z5 M6 D% _0 o. Y
28.scope详解(Binding)
) o. H5 g% i( f9 `. b29.scope详解(referencePaths与constantViolations)
0 m0 |2 I/ t: c3 T% |" r3.十六进制字符串
1 p. G; h9 }+ y6 w30.scope详解(遍历作用域)
# N$ N) j8 a$ A' ~- K4 v31.scope详解(标识符重命名)
' Z5 x+ e2 {( `6 e32.scope详解(scope的其他方法)6 r: n6 F9 C# y. U! {
33.改变对象属性的访问方式
9 V% s9 }$ f5 o! Y, I: Q! S34.JS标准内置对象的处理5 D' I- a$ @2 M: R, \: @
35.实现数值常量加密
6 E t, k1 p/ w- H8 S- d* d36.实现字符串常量加密
1 x" u, V6 S7 n- F: v3 k; B2 g$ _37.实现数组混淆
+ u+ o5 t# _1 J# {( Z38.实现数组乱序/ F2 k v$ D, e5 n4 i* x8 |/ x2 Q7 m
39.实现十六进制与unicode字符串
( Q, |1 T4 p @& R# C( V, J6 D7 Z6 V40.实现标识符混淆4 t9 s+ ^. [9 q3 d8 Z
41.标识符的随机生成9 g$ d. S; g! K0 ]5 U; A+ O- G# w
42.二项式转函数花指令
/ O2 d7 h9 y" L# l& C( |: H43.代码的逐行加密: Z3 g. S" T. s5 a/ o8 |' G" W" A
44.代码的逐行ASCII码混淆
& O) y c) t( m7 R4 \* @45.完整的代码与处理后的效果' G" s% Y X" [$ W3 v
46.实现流程平坦化混淆1
/ D! l7 i+ r3 s: W0 `47.实现流程平坦化混淆2
% n, `2 S' h$ x% `7 j48.实现逗号表达式混淆13 b+ E1 Q( f- U7 x& | U
49.实现逗号表达式混淆2
$ i! p5 ]# l& C/ C50.分析网站使用的混淆手段3 j; Q! _" E- p% y3 c' _5 v
51.还原代码中的常量
' x3 X0 U% d2 n4 I52.花指令剔除思路5 L! R* p" O& o' D
53.字符串花指令的剔除
5 S1 S7 u0 U2 k- T1 i# M6 a; s1 K54.函数花指令的剔除' O X5 j: Y* E# t* u# e, ]. U
55.还原流程平坦化
2 F) G- k) X9 J# O7 ~( v# L# W 3 W6 q) ?# d5 J% h' z
|
|