|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
; D* g; V$ o$ y# n: O& E2 N课程内容:
# h0 F, w, G/ Z# x/ Q8 B$ c00.课程介绍
6 i* C$ q9 B' [01.环境配置& ~2 o! j( m0 b/ t4 M" S4 M. Z
02.对象属性的访问方式- S9 Y& P1 Z: J" n4 T0 }5 b, c; o
04.unicode字符串- X8 E7 _& W! ?% p' u
05.字符串ASCII码混淆+ i8 U1 g& }3 ~$ [# E
06.字符串常量加密- \. Y" `+ `( |8 `. N) _; a
07.数值常量加密 g* _5 ?* ^/ S" q" U ~9 y8 |" `
08.数组混淆
8 [+ l& U. n3 e, ?) e; Q0 H3 o09.数组乱序
; N. v* i3 x6 L* J9 K10.增加JS逆向工作量(花指令)0 d2 e0 {/ S3 F/ b, \ p/ W
11.jsfuck" F8 e3 w. @+ C7 T# t
12.流程平坦化
# y4 G: w% K- H9 H6 o- s- B13.逗号表达式混淆1. B6 M1 \. P2 {" C( m- D
14.逗号表达式混淆2
( [8 V# c1 A8 v2 q/ b/ z# b15.eval加密
1 @# Q% O6 O9 q/ G16.内存爆破
3 M9 p: I4 d' P! s, S17.检测代码是否格式化
/ S, h$ S' w7 x$ N' }. \18.AST的基本结构5 \" v8 T) d# S, i( I
19.代码的基本结构$ X9 L- B5 l$ [) [% N
20.parser与generator
' x% u( p0 D1 Y4 E21.traverse与visitor
% s) E% n6 I: h: @. s22.types
5 [# h: s" V6 Q$ L$ i' K/ T2 a5 q23.Path对象详解(Path与Node的区别)( O1 P) ~7 Y' S* v- }4 {# h
24.Path对象详解(Path中的方法)
4 [8 s" A0 K0 }1 n# Q: a% N25.Path对象详解(父级Path)
8 D& n5 w9 ^% I5 b. [7 W26.Path对象详解(同级Path)- C! N C0 R; b
27.scope详解(作用域)" C) e2 J: O' v
28.scope详解(Binding)
+ H' X' P- z6 g( N29.scope详解(referencePaths与constantViolations)- m+ l1 @; |" e, m! Y5 ]9 y
3.十六进制字符串
& }. T$ e: }0 z( E$ I30.scope详解(遍历作用域)* h/ |4 n& H+ O8 h9 ]; r# |
31.scope详解(标识符重命名)
8 F0 c3 o: a' W, X7 u32.scope详解(scope的其他方法)7 n$ U8 A+ _# r" h* e3 s5 `
33.改变对象属性的访问方式4 T8 T! N8 @1 A+ \+ h" ~
34.JS标准内置对象的处理
( l+ u4 S. P. u35.实现数值常量加密
8 Y0 Y4 r0 d* P6 l1 W; n36.实现字符串常量加密
X) w) u; P& F" W9 q37.实现数组混淆7 D% J2 L" G( b( c
38.实现数组乱序
: h! @% k6 c! D/ n- W1 w39.实现十六进制与unicode字符串9 l: Q A/ l' [" ]: o0 p
40.实现标识符混淆& O4 t @# m2 [" a8 _
41.标识符的随机生成
3 X6 p$ ^5 {8 W42.二项式转函数花指令
, j9 G' y9 @6 M- ^: Z43.代码的逐行加密
; ] U F8 d% C/ a44.代码的逐行ASCII码混淆6 p' G5 E! @; @ U% f
45.完整的代码与处理后的效果- T+ v# c9 B( D7 ?
46.实现流程平坦化混淆1
( g3 v% }7 c- N% G5 R/ J9 D47.实现流程平坦化混淆2
8 Q# g$ W" x/ D8 p) B$ \48.实现逗号表达式混淆19 s/ T+ n5 f2 S0 [+ O
49.实现逗号表达式混淆2
, z/ P, n, h5 _9 M1 v R50.分析网站使用的混淆手段
6 [. v! F. R# k2 \2 ?51.还原代码中的常量) J" l2 L1 c) O# j+ B# a
52.花指令剔除思路& ~! }! S0 H1 ~. c$ S( m0 n
53.字符串花指令的剔除
- N/ s& Y8 d( V54.函数花指令的剔除
+ n5 ?2 M9 _4 f/ l/ ^55.还原流程平坦化
: }1 `, `$ M+ f. E6 [ # }, x7 `7 y7 Q, \+ q4 o
|
|