|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
, F4 G: R% u4 ]" w8 J/ q, m2 Q课程内容:
. Z, `; f5 u- B00.课程介绍' u( B0 e# D6 D7 Z$ Y
01.环境配置
- J1 d! \' h; D- I9 K( K02.对象属性的访问方式
( m& G. Z1 E# y/ T04.unicode字符串7 `# q* B/ m$ r8 u& C6 f% d
05.字符串ASCII码混淆0 t8 W4 D* x! n4 o" c
06.字符串常量加密
# {+ k6 E( p5 b& [3 h& m1 k07.数值常量加密, A. f" m/ q) @5 t' B
08.数组混淆
# N" _& P( p+ _0 e0 u09.数组乱序! z- R; ?. [4 T5 D3 N- m6 p
10.增加JS逆向工作量(花指令)
! W1 o d2 q& E( J, J11.jsfuck' n- s: ]2 E0 x; y7 n
12.流程平坦化$ [( P9 c+ ~) k0 u+ B2 p+ ^
13.逗号表达式混淆1
/ H. b) C5 c" L N2 \14.逗号表达式混淆2
* n- s* C$ ~% T6 C15.eval加密
. G, F$ s% l$ L3 E! t2 z' [16.内存爆破
" C& y# W3 H8 b/ t S2 Y. C D+ h, G17.检测代码是否格式化
9 p7 c, n! f5 X3 o; b18.AST的基本结构
; e" i; ?7 j/ R. m' `- N19.代码的基本结构5 S3 A" t1 n7 ~& A
20.parser与generator' |( |3 F" q* p5 d- [( y
21.traverse与visitor
. l) ?7 t0 |; N$ ^+ l22.types
' w' R- @/ \& P+ L2 z' ^7 A6 x0 d23.Path对象详解(Path与Node的区别)
5 Z( `7 E, X5 [* m) P/ N% c" G24.Path对象详解(Path中的方法)- I h3 X( J: Q2 p8 k0 d
25.Path对象详解(父级Path)' h' A8 y. T2 a& e1 Z6 n' Z' W
26.Path对象详解(同级Path)( h. A1 k6 p1 e1 p/ N0 y
27.scope详解(作用域)- x& ]" m! R- V; V/ S
28.scope详解(Binding)+ W! i! b+ j& C$ G1 p s, T _/ P8 s
29.scope详解(referencePaths与constantViolations)1 V- |9 p& G6 H7 O1 f5 o5 U6 p
3.十六进制字符串
8 D3 B4 i# {, ~0 V1 s30.scope详解(遍历作用域)
9 c7 f0 I1 f( I! D/ u( q+ }9 e31.scope详解(标识符重命名)
( a, }; Q& ?# b' F. E: u& Y32.scope详解(scope的其他方法)
. a- C ~: u- n! T% U33.改变对象属性的访问方式! Q3 N5 @% C+ @6 C6 Y
34.JS标准内置对象的处理
5 o0 o! g. K+ `( a! t- h35.实现数值常量加密
, o! e% D/ P0 E36.实现字符串常量加密
2 ~, R0 C& c' u; y. f8 Q37.实现数组混淆
: b9 t$ Q- A3 o% [0 ^. W$ U3 \38.实现数组乱序
7 s+ L# d ^$ j6 B) _; `39.实现十六进制与unicode字符串
" x& B7 o2 t* A2 _40.实现标识符混淆- q+ A1 c s) {
41.标识符的随机生成9 r! l+ y# e: |
42.二项式转函数花指令6 R( ]( k* j7 o5 m5 e. y
43.代码的逐行加密: P6 N0 L* h) R/ B! Z" ]# J+ W. S
44.代码的逐行ASCII码混淆
2 [' `7 @7 d1 ^7 v0 P5 k+ r45.完整的代码与处理后的效果
* [# S! l/ @$ j" e$ W: b- Q/ I i46.实现流程平坦化混淆1
_0 ~) Q% i9 f, q0 r7 R47.实现流程平坦化混淆2
' S2 w1 t- Y0 Q2 [, g7 ?% A48.实现逗号表达式混淆16 X# c9 ^8 D* J; A0 k
49.实现逗号表达式混淆2
: w4 O# B: u0 e9 q! X* ~( c50.分析网站使用的混淆手段
2 W! Y, E1 U1 I' ~% G e51.还原代码中的常量
, z9 c& u$ @9 t& F52.花指令剔除思路- `; K8 B8 N# E8 ^
53.字符串花指令的剔除
& M: b6 @' ^7 Y+ `0 R9 J54.函数花指令的剔除
% r5 c7 o7 C; D% A; |55.还原流程平坦化
! u. @* {# R& b 2 A0 Z1 ~9 _1 H/ m
|
|