|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。7 |# L& ]& J. D, |3 m* e2 \) y; I8 Q/ z- l
课程内容:8 _. i5 c: n7 z% e2 \
00.课程介绍
. ^. B$ b4 g; Y) v01.环境配置
& Y% w6 _' L& X& r02.对象属性的访问方式
) E7 x% w# }4 e' g: o7 ]# N6 t04.unicode字符串& A/ I7 u' t5 j
05.字符串ASCII码混淆9 u) p" J& y; R# ~& ^; f- X
06.字符串常量加密( B6 H: F; Z, B4 g# i
07.数值常量加密3 L0 M# q/ [" ~
08.数组混淆' u' w/ l; r) u. e- ?$ ^
09.数组乱序: w1 T& t$ ?" j3 B4 a P8 {/ T
10.增加JS逆向工作量(花指令); e3 S- i0 k' p
11.jsfuck
; |' {- M* g7 s: V12.流程平坦化
0 j& ?! m! w7 J2 W$ z6 I; P" y13.逗号表达式混淆1
2 Y: T8 ^( K8 l2 ]14.逗号表达式混淆2
' l" S; y. D* C3 \15.eval加密5 j6 j3 a6 L- ^" ?# p! R4 _) L
16.内存爆破* A/ a& }0 M+ e: N9 ^
17.检测代码是否格式化
' j' ?! p3 q, x18.AST的基本结构
5 V7 ~/ F7 y3 d; P19.代码的基本结构0 ?5 T: N7 ?- i" Q4 O) ^
20.parser与generator
0 B; y% J" ~; b. B. q) H21.traverse与visitor
! M, P* D0 g- c3 T& ^22.types0 M2 ]+ f, H9 p* U/ ]
23.Path对象详解(Path与Node的区别)% e9 I% ~0 P1 L- E' G' l
24.Path对象详解(Path中的方法)* N' Z+ Z {5 X1 ^+ B4 h
25.Path对象详解(父级Path)
7 [2 c, ~' }# z! L/ j26.Path对象详解(同级Path)3 U3 ?: o1 G4 f4 l6 g6 ~. J
27.scope详解(作用域)4 h; D* g0 A, R% P
28.scope详解(Binding)7 y/ ]1 z8 Y4 \, }: ?* \
29.scope详解(referencePaths与constantViolations)
# w; l6 V3 M4 x3.十六进制字符串. B5 g8 H9 M; Y$ A1 K) S
30.scope详解(遍历作用域)
% X! W% {0 P0 b6 R" T- k' ~31.scope详解(标识符重命名)
* s' ?. w! y# ~7 u( P32.scope详解(scope的其他方法)$ y3 o$ O3 B3 Q$ r$ G
33.改变对象属性的访问方式
( L' \2 R6 l' ]) P* v3 L34.JS标准内置对象的处理
* w G7 t) {5 ^ d0 x35.实现数值常量加密4 Y6 D" X/ `1 T- k
36.实现字符串常量加密
) H F! ]: v% X. H37.实现数组混淆; n- ^ a" U+ R2 n" H8 ]
38.实现数组乱序
! D/ I7 A+ V6 N# V$ b39.实现十六进制与unicode字符串
: z0 @( O5 v- J% R4 H1 G40.实现标识符混淆
5 K! {) y: D5 A5 [8 L41.标识符的随机生成
: V3 O# H6 d7 c* d2 u7 g G1 t+ d42.二项式转函数花指令
+ x3 ]0 @$ y2 f K' N5 X2 }; Z7 _, F43.代码的逐行加密' M# }, D% o1 m) y2 F8 z$ W+ i
44.代码的逐行ASCII码混淆
[$ O5 Y' G, B* H: N) T0 ?45.完整的代码与处理后的效果$ |* L: Y% K* t. D
46.实现流程平坦化混淆1
- F3 {1 K/ X4 @3 W% j! F* r5 x4 {47.实现流程平坦化混淆2
" |+ \0 m3 f) b& g- k8 J% H) F' R48.实现逗号表达式混淆1, E; o8 j R* P
49.实现逗号表达式混淆20 Y' {& f. l7 e. C
50.分析网站使用的混淆手段
4 I: U4 ~8 Y" `- e l5 j$ x% D51.还原代码中的常量; r9 w' i& b9 w' l7 o5 x: U
52.花指令剔除思路
) U3 C3 Q" _( R5 f) H7 x7 v; @53.字符串花指令的剔除 J+ A3 _2 c; }, h$ p% R
54.函数花指令的剔除
+ m" D- E g! a( z' v55.还原流程平坦化
# L& @& d+ q; {2 O" u/ m% e
! U& C! R- {5 R9 z
|
|