|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
" g+ s7 t# k4 c2 ]9 S7 X课程内容:) k8 ~2 r- V% R# C D7 M
00.课程介绍* E- D2 y' M( L1 q4 O
01.环境配置
* F/ p' y6 J8 n& A02.对象属性的访问方式
/ A1 l, a, N- N9 T' W* J/ D04.unicode字符串' y: c, |4 l" q& F/ F4 R& W
05.字符串ASCII码混淆
! m% e8 m% `0 W06.字符串常量加密# {" e9 e! X E1 L9 E
07.数值常量加密
. c0 @# k2 ^: U" [& R( a08.数组混淆4 [1 t, e- G. n" N# D; ~% k4 t
09.数组乱序9 S" L, F# _" x+ k3 T: c) { I
10.增加JS逆向工作量(花指令)0 x% C' p: {! H& F% R
11.jsfuck' B+ N- _) N% d: _; o
12.流程平坦化
% n9 q8 u1 F" G1 ^! W13.逗号表达式混淆1
6 o8 f9 m/ t7 W- `14.逗号表达式混淆25 P6 I; Q& D+ \3 T: b& V
15.eval加密+ O1 J/ U/ [3 r9 O" `7 f
16.内存爆破
( _6 s# A' D$ F/ K9 P17.检测代码是否格式化: ]8 }. |. m: j
18.AST的基本结构
3 L' e/ i: v3 p2 o7 k( P, |6 \19.代码的基本结构
; y& y# ^7 Z9 S" ~$ b7 \. l20.parser与generator( x" [& Q3 S3 i2 {$ S
21.traverse与visitor) D T8 a( x2 T4 g4 @: T
22.types/ }' A2 V! b. l5 c/ ]" {) `. l
23.Path对象详解(Path与Node的区别)
|5 a, l1 M# o2 q24.Path对象详解(Path中的方法)* ]9 ]. C. K7 T6 P! n0 K4 o- E
25.Path对象详解(父级Path)
2 R2 U: i$ J1 W1 h8 P6 f26.Path对象详解(同级Path)# m: R* e/ [0 J5 w) k" h' f
27.scope详解(作用域)5 x5 P* B1 C$ T. B) F2 s6 t& T% W
28.scope详解(Binding)
' \* U, @# K/ Z; i3 u# ^29.scope详解(referencePaths与constantViolations)4 b) R* E: ~! Z
3.十六进制字符串
, W/ l' X7 a T2 F9 `! y30.scope详解(遍历作用域)
+ T# u: f0 C- d1 A& l31.scope详解(标识符重命名): [; W+ }) n) L
32.scope详解(scope的其他方法)8 M& g& ]1 b0 _/ c" J. n: x) r; t
33.改变对象属性的访问方式
w. D; }: {) V2 L7 Y1 Y# K6 U34.JS标准内置对象的处理/ N6 `9 X2 s5 x' U; a, `+ Z7 Z
35.实现数值常量加密' r4 h, I3 c- `# z7 a: X/ C
36.实现字符串常量加密
7 f$ t7 B- l3 h# U37.实现数组混淆
6 [3 c3 h _+ c( }" u x; V38.实现数组乱序9 A3 I( ^! t4 R, q4 i: c
39.实现十六进制与unicode字符串
4 s7 V- ~$ T$ s; w) \40.实现标识符混淆
! S# y+ \& V" K41.标识符的随机生成
4 u a8 k C% V: K! Y% d42.二项式转函数花指令
7 R$ |0 U0 \1 M9 ]( u( H43.代码的逐行加密 x. f# F5 c9 g( J2 C! m
44.代码的逐行ASCII码混淆+ h' @/ C% g! P i
45.完整的代码与处理后的效果
8 a. ^9 K8 I5 w3 D) m a* H46.实现流程平坦化混淆10 U4 y* q. |* D }( W, @5 w4 w
47.实现流程平坦化混淆2. R, s$ h& E }5 D4 M$ t$ ^% _
48.实现逗号表达式混淆1
0 {% d$ [' D8 p h( n" f49.实现逗号表达式混淆27 n$ r3 O+ v& O
50.分析网站使用的混淆手段
0 M0 @7 O2 ]3 F- p51.还原代码中的常量
4 A) l/ l& I, U2 ~! |5 I52.花指令剔除思路1 C: D0 t z( y, K$ B# f/ I/ |; n
53.字符串花指令的剔除6 W: t6 }1 l9 s) M
54.函数花指令的剔除! S3 C7 {9 \& B( ?- O, i
55.还原流程平坦化: W1 f- [3 Q, d T" F/ W' {/ r
9 l5 j' A- U D- r6 Y8 \/ i
|
|