|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
' M7 \* ]& N8 l5 ~5 P; r' X! |; N4 V) J课程内容:
* D, f5 _# r* x F" W. f. V! g00.课程介绍
- u( u6 U5 g2 L4 k1 W01.环境配置
; D( k" q" L* O: t% i/ K% J02.对象属性的访问方式
- ^$ L: p1 V& N3 k% B0 x04.unicode字符串/ A& k8 G g3 Z! Y
05.字符串ASCII码混淆
. i5 @' R, g; [' ]8 u+ x06.字符串常量加密
6 | @# ^1 z, ]0 \07.数值常量加密' y* x* O1 O! W6 L" z9 ~; x
08.数组混淆- |# q2 l0 U& p$ }& `: C
09.数组乱序
0 R, F. s8 w: L1 K, w; p3 _10.增加JS逆向工作量(花指令)+ K* n! J' i* P, b; z& X
11.jsfuck! d4 w: [" U1 ?- X, x# @) K
12.流程平坦化9 n& y- t: y$ s6 x# r, S ~
13.逗号表达式混淆19 z* o: ^6 O$ h7 q9 {+ E
14.逗号表达式混淆2
! l# V2 I+ _; V$ J( n5 {* k6 k15.eval加密- w. k `1 ?. C1 S& n0 }4 X" D
16.内存爆破
, i1 \! A, K Q) C$ `: H5 B17.检测代码是否格式化
9 Z0 V$ T) E: {6 Q% e; @% F1 i2 u; L18.AST的基本结构; ?( B: W3 i7 g) {
19.代码的基本结构
+ m/ l9 v( f3 J6 {20.parser与generator, o" s4 Z" q1 ^6 `
21.traverse与visitor
7 w. {: |4 f2 e. r6 [22.types, ?& }* e) p G2 C$ I
23.Path对象详解(Path与Node的区别)
! @$ D5 k- y, `5 @8 b! @: d' q& M24.Path对象详解(Path中的方法)
; A' u: p0 E& n) z# x2 W- ^/ |25.Path对象详解(父级Path)
1 a9 ^( X3 O& ^7 F) z$ U+ f26.Path对象详解(同级Path)7 v: a% l" a! \' p, @9 n
27.scope详解(作用域)
& _9 U% Y4 A& M4 a# V7 y& i- ~28.scope详解(Binding)3 r) D. T( A& i* g) U! A, b, x
29.scope详解(referencePaths与constantViolations)" g) u3 J) S* S! [& D3 q; {( t
3.十六进制字符串
9 }( Q0 `. m0 f, Y* Z! T30.scope详解(遍历作用域)
1 t% l) z3 B3 f! {8 @31.scope详解(标识符重命名)1 U$ ]8 `; R A8 j
32.scope详解(scope的其他方法)9 c. K4 ]) O+ ?$ D" |: o8 d
33.改变对象属性的访问方式7 [( u3 \* }; [" T
34.JS标准内置对象的处理. @% _/ z# V# e$ P
35.实现数值常量加密! Z& \, p, U- u6 O+ }
36.实现字符串常量加密
* e r( ~5 s9 z" ?# B; p( t9 c b& p37.实现数组混淆# N. q) s6 ]9 e& M- _, m! v
38.实现数组乱序4 f$ u/ C* w- M$ w/ z% y# P8 |5 r9 U: Q
39.实现十六进制与unicode字符串
( q/ ^/ a! I6 Z5 \7 p4 L) q40.实现标识符混淆: O; G" @: F( J$ E0 J2 x& O
41.标识符的随机生成' L1 Y, O7 {( H# ]4 p; D% k. x5 j
42.二项式转函数花指令
% r, _: {3 h8 w& r; c43.代码的逐行加密" Z( A4 a q- ]* ~! S
44.代码的逐行ASCII码混淆
, y5 K0 X! g+ N1 X* X7 G45.完整的代码与处理后的效果: @- q4 [2 _& Y3 d$ u: o
46.实现流程平坦化混淆1' U+ O* A2 S2 M& T8 d. S! R
47.实现流程平坦化混淆2
0 |/ W% M; F$ P) w48.实现逗号表达式混淆15 p ?) s) a1 Z3 u: m0 E
49.实现逗号表达式混淆2" k# q% E6 h- j
50.分析网站使用的混淆手段$ N3 w* r% D3 t; D' N
51.还原代码中的常量
$ L, g# f! u+ y; d52.花指令剔除思路 b( G+ }5 g4 s7 r1 F9 P
53.字符串花指令的剔除
$ p- { _* L9 ^. Y54.函数花指令的剔除7 F1 k. h o7 t6 L
55.还原流程平坦化
8 R% X3 @: ?5 c: M! s1 ?% r
8 W1 t3 ]5 ` ?! |: h) w5 M# O/ b
|
|