|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
% P* p5 c- i% q6 s% u, M+ Z课程内容:
|1 L( t& o6 V5 M ^( l- Q+ F00.课程介绍! D' Q! h; }2 }3 P, i
01.环境配置
1 V/ R' k: ~4 c) Z3 ]02.对象属性的访问方式9 R5 ^! G% v: D m6 d1 ~
04.unicode字符串% S' G. D4 `: x$ X& k' z3 O! T
05.字符串ASCII码混淆1 M2 A; N) X( W& e0 d
06.字符串常量加密
o( B* F8 a c! v, w" g$ x2 S1 G07.数值常量加密) f) `: l3 {6 X$ C( z
08.数组混淆
/ _: m3 P- U7 k6 T! e z09.数组乱序( C2 c; ~; m& L
10.增加JS逆向工作量(花指令)
, E' l! @7 F( i9 t0 q11.jsfuck$ v5 X; U/ \& p# L! Y6 [/ M
12.流程平坦化
2 N/ J: l: c5 u. N" b! o13.逗号表达式混淆1
' T5 z# r/ B1 C* v14.逗号表达式混淆2, U j9 j( z% A" ]% A
15.eval加密' k- l1 D* T4 v) \
16.内存爆破
! e# O, Q0 C' d% S0 O6 \17.检测代码是否格式化
5 _! |5 M# m; B( H( K) U$ R6 ]18.AST的基本结构
/ S9 f, e% m- f( L5 u0 ]+ z19.代码的基本结构4 ^+ M5 v7 ^! {) n' j$ }1 _
20.parser与generator. y1 }% x8 ?4 \6 p" O
21.traverse与visitor! v5 Q2 d- A) U W" L6 q
22.types
$ K- n5 _2 ]5 E& X0 h23.Path对象详解(Path与Node的区别)
0 ?1 Y7 ]$ [# ^9 `$ V24.Path对象详解(Path中的方法)4 F+ Q4 z9 l5 w
25.Path对象详解(父级Path)
0 d* i4 t) D3 R8 m. _26.Path对象详解(同级Path)
& n' r& U9 S. a3 {27.scope详解(作用域)
9 @' |) v$ R* {7 }( a" c2 o' L28.scope详解(Binding)
# A9 T1 @0 T* ] N5 c6 M29.scope详解(referencePaths与constantViolations)
' H+ u' h! q( }. i3 i M3 b4 ]3.十六进制字符串2 G& A& J# c7 _8 b- P
30.scope详解(遍历作用域)' s' y1 `7 K/ L
31.scope详解(标识符重命名)
( n- D8 t9 v: u5 e32.scope详解(scope的其他方法). l& f; a7 Q& f
33.改变对象属性的访问方式) c8 N. f# W3 L7 ?' i
34.JS标准内置对象的处理# u2 {9 o* v: i4 _, i& t" ~& i3 B
35.实现数值常量加密
e7 R; G* G. U, V+ Q" e+ @8 t36.实现字符串常量加密/ n5 H# ], q4 y3 H
37.实现数组混淆
, _5 E" C7 R! A8 P! M5 J& l38.实现数组乱序( K! s' i8 ]3 S2 g9 l4 U/ }- w- R1 J
39.实现十六进制与unicode字符串$ `- L; ]- }7 E0 B1 a& e$ {; Z
40.实现标识符混淆
0 p( N. S2 l0 @% A41.标识符的随机生成
" ?0 ? ?! P0 d0 t42.二项式转函数花指令
( b Y' K. I/ D) B8 }43.代码的逐行加密
- E# N* w' c/ \44.代码的逐行ASCII码混淆
; E& U y3 O$ f( a- o45.完整的代码与处理后的效果0 I% @3 e3 Z2 u1 M
46.实现流程平坦化混淆15 A; K6 Y! S. W! Q- G/ X
47.实现流程平坦化混淆2
2 V9 ^+ g+ @8 a48.实现逗号表达式混淆1: Q& M3 z, g* e9 m/ c5 z
49.实现逗号表达式混淆2
' o) h9 ^0 Z! T% A50.分析网站使用的混淆手段
+ V1 q/ O G) w) Q, y51.还原代码中的常量* c# I4 v) ^" |! ^
52.花指令剔除思路
, ^' ?0 I) v- K) @" o6 c53.字符串花指令的剔除
8 w! Y& g- _- H9 W8 i54.函数花指令的剔除$ p3 L! t8 O3 x! c% T! e
55.还原流程平坦化
: ^) h B# i5 Q; i# Y
7 g2 ^! _9 s% |: g) y
|
|