|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。" H1 b F* h# F) C I
课程内容:2 N) b7 r# a7 s% u. ?
00.课程介绍
9 V7 W2 s' |4 [( O01.环境配置: T o! R' L" e# L. @/ l) i
02.对象属性的访问方式
4 z$ `2 J6 u/ U0 F" \0 s( ^- U9 U# ^04.unicode字符串
* k1 t# o9 Y1 N* M, I: n05.字符串ASCII码混淆
& t# }1 b# F! _5 c6 A06.字符串常量加密
3 k/ Q# G# H( Y* U07.数值常量加密
; |; d( B3 S" K/ L. k08.数组混淆 e" A' W5 i' ^5 H
09.数组乱序3 B# P7 |) B: n u+ d: U
10.增加JS逆向工作量(花指令) k: s! a4 U' K% O! d6 Y
11.jsfuck0 D% a" Z+ H/ H3 i/ {7 d
12.流程平坦化
& Y8 A& u n$ T# p% @13.逗号表达式混淆1
5 e& j$ P* D' b, ^14.逗号表达式混淆2
9 y$ D# E7 E. K0 P15.eval加密& T. _ r# w. e
16.内存爆破
. A0 b4 z( B# |8 L17.检测代码是否格式化1 |" i0 i6 N; \+ l; \
18.AST的基本结构& R, e& t! j- ^3 a
19.代码的基本结构
3 g# ?1 X. y8 }. e20.parser与generator
2 N3 Q* g5 C( ^% l- C5 n) c21.traverse与visitor
/ P! V" o7 ?8 g1 x22.types4 f4 B# L. u/ K: R6 C
23.Path对象详解(Path与Node的区别)
3 j- _- J& ~3 B% r- y6 b) I+ Q24.Path对象详解(Path中的方法)
) z7 }; j& X0 X: t* {6 k9 l% {25.Path对象详解(父级Path)
- ~. ~8 U7 D& Z( e/ T: b26.Path对象详解(同级Path)( Q( L+ D3 d/ A0 ?* ^
27.scope详解(作用域)6 r6 |+ ]3 R9 x1 L w! _
28.scope详解(Binding)
$ e4 n+ R2 T: `" T7 A29.scope详解(referencePaths与constantViolations)+ l1 i. J& `% _6 r$ O6 w' x
3.十六进制字符串0 B. L. _* o! X: ?1 {: H$ O& E
30.scope详解(遍历作用域)3 ?) i0 w6 v, b7 R+ r4 ^
31.scope详解(标识符重命名)
$ x3 ^% E" m E5 R32.scope详解(scope的其他方法). |( x" m+ s( x' S+ u8 l
33.改变对象属性的访问方式
4 R% Z; B/ X# I- P0 c, S34.JS标准内置对象的处理
2 |. h# J; H: B4 X* }35.实现数值常量加密
* T G* T+ T }& J+ ?% F9 X36.实现字符串常量加密
1 ]: K5 i) ?1 F0 Q2 y/ f/ E37.实现数组混淆
9 q5 A2 i. Q6 p( S8 w% j) f38.实现数组乱序1 N: s: d" ^% r3 P4 y
39.实现十六进制与unicode字符串
( v8 K# y) `$ G0 l% i4 Q1 G40.实现标识符混淆( N9 I+ z+ K/ |9 B
41.标识符的随机生成9 L, G! _, s: \3 a* h0 S# N
42.二项式转函数花指令
, U& \: }2 s, S3 ~# k7 D* l4 V43.代码的逐行加密
' e8 [( ^4 ?7 X5 k9 D0 k' H44.代码的逐行ASCII码混淆
' \8 _: I7 {! }& y3 v45.完整的代码与处理后的效果
# V9 C; H# \7 e) {46.实现流程平坦化混淆1: f2 Z6 S, e2 P) b" W
47.实现流程平坦化混淆2( @+ z/ y; ^- X' V
48.实现逗号表达式混淆1
" I$ ^0 a% }* x. L7 q0 q% Y; c+ F% }49.实现逗号表达式混淆20 x9 \' x8 W% R: f1 R$ m6 J4 T5 _
50.分析网站使用的混淆手段
+ Y9 S1 w: Y9 E" _' D3 }1 {51.还原代码中的常量/ K3 f: S c; N! N. K: x) \
52.花指令剔除思路
; x7 i7 i- i% Y, `53.字符串花指令的剔除
% _& O* g; L6 a54.函数花指令的剔除6 \. A' U# s& {$ f8 G, V Y, K
55.还原流程平坦化
# V' G/ `/ m" R0 H+ b6 g
+ s9 x# }2 {5 ]( G" t- n% Z# I0 B
|
|