|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。8 O+ ?- j3 K* P+ ]4 Y
课程内容:
) H% P# D+ O! r7 W& \2 E00.课程介绍% J; U! e8 p: I+ c; U
01.环境配置7 n* U. L- t5 _4 H
02.对象属性的访问方式
& Z2 \0 [7 r& r3 z/ z s04.unicode字符串2 R. T g. z1 C$ i
05.字符串ASCII码混淆9 P$ E% a% l5 ^& w3 Q
06.字符串常量加密
0 g. ^0 `; `' p. W% F! i07.数值常量加密! r3 ]" y% j4 Z. S2 ~+ Q
08.数组混淆
% L3 ]6 {! S, `0 d5 ~& h: ~09.数组乱序
9 `6 l7 @' s3 T9 J: k10.增加JS逆向工作量(花指令)
( T/ f2 I# l; k% m7 `: _11.jsfuck
/ r" Q, m0 I( s; L% O7 a Y. G12.流程平坦化6 |6 b4 \) `# Q& h- v
13.逗号表达式混淆1
3 j! N; ?, t' N14.逗号表达式混淆2
- l% s/ @+ k3 q( C Z4 \15.eval加密 s3 w+ C: V% ^. X
16.内存爆破
+ [# Y1 f' ?+ t' X1 R0 _; _" s- m E17.检测代码是否格式化
; T: t; W7 A# h( t2 {9 F. \18.AST的基本结构5 B% a2 ?, K' m7 N" Q( `$ H
19.代码的基本结构
* U1 p3 n7 |& y- A+ d20.parser与generator- U9 }. \1 i- B) y1 n( X4 s
21.traverse与visitor
- r) }' J$ M& s' q22.types' S; s. k% ^1 m& t8 |
23.Path对象详解(Path与Node的区别)2 @. n4 i# h B
24.Path对象详解(Path中的方法)
& C' s% v' l1 V1 V& h25.Path对象详解(父级Path)
1 o! `* f1 m: E; j" ^# a26.Path对象详解(同级Path)
4 h/ c+ d, d. C% C5 O9 s7 O27.scope详解(作用域)9 t( ~: ~6 n- n5 c6 U3 M* l
28.scope详解(Binding)
r1 m- b1 w4 n29.scope详解(referencePaths与constantViolations)
1 d; |6 W3 G ~; A# J3.十六进制字符串" x+ m: n4 _' g( R% L
30.scope详解(遍历作用域)
2 b& F" d+ d r J31.scope详解(标识符重命名)0 e" l# ^$ p. V
32.scope详解(scope的其他方法)
8 q# A; V1 p$ Q33.改变对象属性的访问方式
5 Z/ h6 |8 Z9 Z2 l9 x" r/ S; Z34.JS标准内置对象的处理
( V1 y2 U+ O7 O6 x, P6 P35.实现数值常量加密
* |: z2 b% o8 q, ^( I( |& D36.实现字符串常量加密
! t0 u5 |" ~6 r" j37.实现数组混淆
& s/ C; a; d# i$ R" [38.实现数组乱序
: @) `6 l! a. }; r; |/ q# l: m1 Q39.实现十六进制与unicode字符串* |) P. ]+ i) m
40.实现标识符混淆
+ l H7 @2 o6 {' x41.标识符的随机生成0 C) _$ L& V4 x6 S
42.二项式转函数花指令
i' k* X: u+ l: z/ w43.代码的逐行加密
3 b3 V- V8 X7 a8 R+ z3 I3 G44.代码的逐行ASCII码混淆. W( f3 W7 Q0 I3 x% U
45.完整的代码与处理后的效果
: H! ]# B( e. ]/ |3 I/ }46.实现流程平坦化混淆1. @! S2 C* B; `- p; \& q& e
47.实现流程平坦化混淆2
4 ^7 ^5 M( R1 {" C, g48.实现逗号表达式混淆1
& Z& _% Z! K) j# u49.实现逗号表达式混淆2
" H5 ]+ O2 _* `: o* \6 `& f50.分析网站使用的混淆手段# |. `6 s9 W) J6 L1 E! ?) s
51.还原代码中的常量, N4 V) H \: ~
52.花指令剔除思路
3 D8 a5 V. {" g& g# U4 h# R53.字符串花指令的剔除
9 ~3 U$ E1 ]: i) l m6 v* g/ L54.函数花指令的剔除
( m# |- P( k a; u& M55.还原流程平坦化- {" |& a8 ?+ `% L+ C+ x; m! G
% H5 u% W$ z5 \5 n6 E, D
|
|