|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
( X% ^ a8 s0 `2 I" D/ e课程内容:
/ v8 V8 x+ A2 Y- }, i$ t7 ]00.课程介绍 \2 Z, F3 [; m4 j
01.环境配置
7 C0 K+ }, P& L02.对象属性的访问方式! l" T4 e" x/ m/ Y7 j% ^
04.unicode字符串
$ a @" `- H+ c! S7 m05.字符串ASCII码混淆
: N$ c: I0 ~3 P3 G" e06.字符串常量加密
+ [5 d# d% N8 I+ V07.数值常量加密8 f0 _1 l: c: `: b) S1 R; D
08.数组混淆
. A- `% {) y7 F; H* \; O09.数组乱序, ~3 J/ U7 [) h* S% x
10.增加JS逆向工作量(花指令)7 H; q1 E @6 w1 d# X
11.jsfuck1 ~ p" f: _+ R, }$ E0 j
12.流程平坦化
6 p$ p- y. ], u# [- W; p; G5 X" E13.逗号表达式混淆1
3 s* A2 @) |2 K: ^* N/ n7 i14.逗号表达式混淆22 O# W/ E/ {7 l1 ~' q
15.eval加密& T, n% V3 i$ d; E2 W4 R
16.内存爆破
6 H5 D7 x( ~/ O6 `+ K17.检测代码是否格式化* |) |( ]) ^; U+ E
18.AST的基本结构
0 c8 i& b+ Z& o) Q( J" X* q; Y2 p" N19.代码的基本结构
: H$ c8 d3 T) A( N: X: U20.parser与generator
* g) E: q0 N8 L5 \; O4 j s21.traverse与visitor8 c% E3 {& a& _% ?# U3 m
22.types7 z w% j$ `( l& Y
23.Path对象详解(Path与Node的区别)
8 B% ]! [8 P* G. E) p6 x24.Path对象详解(Path中的方法)2 G) _1 i8 w- U9 ?" a" ?& w
25.Path对象详解(父级Path)- s- @( C5 I5 O
26.Path对象详解(同级Path)4 d8 d* W+ i1 {' o/ W% n
27.scope详解(作用域)# G+ j/ @( E3 M) X$ k8 i
28.scope详解(Binding)7 @4 b, y/ d; |/ G8 B+ Q8 y
29.scope详解(referencePaths与constantViolations)
% c. `3 m8 `0 W# q& I- X3.十六进制字符串
* r) ^1 V1 O9 z" R30.scope详解(遍历作用域)
3 Q6 X) s# U: f% X& i31.scope详解(标识符重命名)
( i- r. |3 u1 q6 J9 k32.scope详解(scope的其他方法)
& c8 [! n! O$ i0 q8 N4 z33.改变对象属性的访问方式$ X5 p- F- M# u
34.JS标准内置对象的处理& B; V/ f, {* v# r9 G" ?. V2 f- h
35.实现数值常量加密
, a* o+ N5 ?# A/ X% y( X. y3 G" @36.实现字符串常量加密
3 |- G( c. @( d; d& e' L% a37.实现数组混淆2 V' a3 Y. P* J- B/ N2 d5 o8 t
38.实现数组乱序+ O' H, i5 X' n
39.实现十六进制与unicode字符串
. Z# A! z q: U" Y40.实现标识符混淆
' j; Q' H0 T. S* G5 t41.标识符的随机生成
i; `6 m$ i4 F4 x, _" k! a42.二项式转函数花指令" {( f+ j) }2 o9 H8 l
43.代码的逐行加密1 d% F @ E( W2 _
44.代码的逐行ASCII码混淆8 O/ X3 S+ H0 P. ~5 T" U
45.完整的代码与处理后的效果
+ `/ E' ?' X9 j! ~3 s46.实现流程平坦化混淆1
. A$ u. V5 B) t% G+ |47.实现流程平坦化混淆2' F; y# \- ?, p
48.实现逗号表达式混淆1
/ b, k) K) ~, \) T49.实现逗号表达式混淆2
0 D8 [4 \8 Q+ e4 H @50.分析网站使用的混淆手段
, l6 y8 e( H; |$ T1 F51.还原代码中的常量
3 @$ E+ w$ @, w' B& j52.花指令剔除思路. E; U1 b+ v2 S$ S+ M: E, Z
53.字符串花指令的剔除
# |/ i. G/ Y* J/ Q9 b. m54.函数花指令的剔除
; C1 s( U7 D; _+ I; h _+ Y+ }2 o55.还原流程平坦化
! F7 F# i$ l+ f+ j# I5 J 0 K$ V( ]) ?! l% j6 ~/ e% B: B
|
|