|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
. x8 s; U% B, _课程内容:* U0 B0 l5 J' t" T# F( D
00.课程介绍: L: ^& w, G, a1 }3 }8 s
01.环境配置
0 e# l/ r5 N/ D+ H0 _3 {02.对象属性的访问方式, R. |, b) q, J6 {4 e6 M1 _4 A
04.unicode字符串/ r9 R+ |; T# I+ b6 x2 O
05.字符串ASCII码混淆
2 s! q6 D3 W; v+ o9 U5 U9 w, _& l$ a06.字符串常量加密
; f2 t0 R! n$ i9 N, f07.数值常量加密9 o6 l' j* Q2 r& _$ G2 l
08.数组混淆
8 {: U& a# w2 l* Q$ w7 Z4 l09.数组乱序% \- S6 m3 e4 x$ d' t. K* B; U
10.增加JS逆向工作量(花指令)
) ~9 Z$ w5 c! n11.jsfuck
- I9 o1 C- ~0 x8 O% ]12.流程平坦化8 x) a Z4 e% r
13.逗号表达式混淆15 P) Q) V5 Z$ b" z
14.逗号表达式混淆2
- B0 O" A$ g6 ~9 N7 @15.eval加密4 y% w0 y: W& P1 ]2 B
16.内存爆破
& `. b' v: l) ]8 h17.检测代码是否格式化9 Z p1 w* |" W( }9 r: k
18.AST的基本结构, ?: \+ F% U( J3 O' @( {+ U- O
19.代码的基本结构- G) d8 ^" x& y1 o. @6 O
20.parser与generator
3 d* b( z' Z" h$ o21.traverse与visitor
3 `. Z6 \" }. |7 `/ n22.types; t3 s: Y$ m0 N! u
23.Path对象详解(Path与Node的区别)
' E2 g0 u( j+ o7 ^2 N24.Path对象详解(Path中的方法); f; d/ I% E2 X7 d- ]( I, y
25.Path对象详解(父级Path)
. ]# s1 I+ B8 S/ ~; w: G0 l' \/ |26.Path对象详解(同级Path)
; q& [" V+ G6 c0 t* M) y27.scope详解(作用域)
6 S; P! @. I( @. p28.scope详解(Binding)+ e: ~; z8 S2 x" u7 O' v
29.scope详解(referencePaths与constantViolations)
2 ^; E. n% ^2 ?5 X. E) O4 G3 y5 w3.十六进制字符串6 S7 C; g4 D2 F d& N+ Y
30.scope详解(遍历作用域)
) H; i+ T; g- l/ V7 H! F& N, |31.scope详解(标识符重命名)2 U" C4 c# k4 e7 \
32.scope详解(scope的其他方法)
. p" L+ U# g! Q$ v4 Y c4 M% |33.改变对象属性的访问方式
3 M8 l- r6 a% Y6 A3 t+ X34.JS标准内置对象的处理8 l+ j1 i2 U& i" t
35.实现数值常量加密
' J) t" A( w6 O1 @: F36.实现字符串常量加密8 o1 ?) j0 g& v4 H
37.实现数组混淆
9 [$ [4 W* e, ~, D$ C: U/ i38.实现数组乱序: M. c4 N; U6 R9 P) H+ A4 C6 q
39.实现十六进制与unicode字符串 `( w8 O! [6 y0 z: t' q& s
40.实现标识符混淆0 W8 Q3 t' G8 h7 t& c9 S
41.标识符的随机生成6 y5 w, q. W- Z8 E, I1 r0 _
42.二项式转函数花指令1 w- I& R8 A0 K
43.代码的逐行加密
6 W# E* f. I7 ?) k$ s44.代码的逐行ASCII码混淆6 l* B, p" x% E$ \% }, \
45.完整的代码与处理后的效果/ g5 P g) j1 z3 I! M! F
46.实现流程平坦化混淆1
: M u6 U) ?% I$ `; v; m& i47.实现流程平坦化混淆2; E4 m& N* H- H
48.实现逗号表达式混淆1
- M# R; G$ ^, }49.实现逗号表达式混淆2
* G5 V8 z$ y" G/ }50.分析网站使用的混淆手段& i+ o# B. _" g: O5 q+ e
51.还原代码中的常量
; Q' p) n2 S3 m: i6 Y52.花指令剔除思路
4 c/ y( O# [: R" p$ J& O53.字符串花指令的剔除. o) s" w+ |$ D& \; F4 N, d
54.函数花指令的剔除
* S8 `. }2 f4 U: U' L* |55.还原流程平坦化
2 w3 p e* F/ p$ g1 U
8 j/ k' T8 o" Z+ M+ C
|
|