|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
( w6 Q4 L5 G2 F- X, L# G+ q课程内容:2 |$ S& t8 |- |) ~* i
00.课程介绍' u, ], W- P7 W2 v1 q4 u* V
01.环境配置+ S% J2 w' `$ E" T; q
02.对象属性的访问方式2 q, s9 h* d4 ^
04.unicode字符串
5 |* j% o4 Y! g" q* A05.字符串ASCII码混淆3 \3 w+ z* c' o7 G! s
06.字符串常量加密
$ ^" a7 B( O( d07.数值常量加密
7 V) A* C: F( ?7 F! y' K7 {08.数组混淆# x+ o% |" F ]/ Z
09.数组乱序
4 p6 M1 t; l3 `+ v0 U+ `* y10.增加JS逆向工作量(花指令)7 J. S* @% B% J F9 k( b, m
11.jsfuck1 P8 h% M! g* V [
12.流程平坦化: c! P, k7 n3 w' Z7 u
13.逗号表达式混淆1
2 I5 r3 k" I2 O0 M& O14.逗号表达式混淆26 F8 q5 Z1 w4 p0 F" J ?
15.eval加密) B4 q1 |. `0 Y$ H# U, y
16.内存爆破9 @8 |% ], e& o* W# t' u5 j
17.检测代码是否格式化1 M0 ~ e7 h/ H& d: j5 Y
18.AST的基本结构
0 U8 `5 H+ S2 G! E19.代码的基本结构5 I- \7 a9 Z' Z8 x5 z
20.parser与generator8 {! f/ G& L% s+ C: F2 ^0 \, B: S
21.traverse与visitor! p' `+ ]0 _5 l$ w5 U
22.types
# p( i0 v+ ^( z/ e4 _! ]/ }23.Path对象详解(Path与Node的区别)( G' m! h* o/ S# l* A
24.Path对象详解(Path中的方法)
/ ?' c, {: z) Z7 G" W) k25.Path对象详解(父级Path)' d3 O7 f; y g- O2 r
26.Path对象详解(同级Path)+ g: k& y8 w1 [. r4 b% M
27.scope详解(作用域)
/ u. |3 E& ~1 h' h/ t- |28.scope详解(Binding)
3 h. V# T, g" N9 s6 f% j% p29.scope详解(referencePaths与constantViolations)* X+ R8 R7 u+ ~5 e" h
3.十六进制字符串
6 ?1 H# c0 Y0 g% O, W30.scope详解(遍历作用域)
: g" z! f2 m/ }31.scope详解(标识符重命名)
1 O/ ~: ~- w$ N: C2 x0 {6 I32.scope详解(scope的其他方法)+ a3 ` m; M: _
33.改变对象属性的访问方式, R J6 q& l/ P, X, A1 q2 |
34.JS标准内置对象的处理
3 ~3 a1 z4 e- C/ R/ d35.实现数值常量加密3 E5 F: I( [$ r! p. b& ]) n# f7 r
36.实现字符串常量加密
* l. U3 y8 T7 U37.实现数组混淆
9 ^+ ?" R3 v. a9 r8 O6 d- g( [38.实现数组乱序
0 T0 P1 p& Z: F39.实现十六进制与unicode字符串
( _- S* q( `% }, ]- @5 w c& ]40.实现标识符混淆9 y7 N- G6 j' u- E# s
41.标识符的随机生成3 M5 [% v3 U6 w2 O# y
42.二项式转函数花指令5 F/ ?5 N& e7 w; U3 b: S
43.代码的逐行加密( L+ W& r" g: |1 ~. @
44.代码的逐行ASCII码混淆( R0 M- ~, M5 B. e b8 j6 M& y
45.完整的代码与处理后的效果6 |, }; t' d# k o1 t
46.实现流程平坦化混淆1; ]& a) t) w& n" m! {& ?
47.实现流程平坦化混淆2
4 d3 {4 U- t. }% t48.实现逗号表达式混淆1
6 \/ V3 ~* c, W! Q49.实现逗号表达式混淆2
9 P: Q5 Z8 _4 L- L50.分析网站使用的混淆手段
6 [6 y: o5 X5 `, s1 q51.还原代码中的常量
$ _1 B R0 t' m52.花指令剔除思路
( c5 e+ H) W% {53.字符串花指令的剔除
6 Y- Q7 ]- Y8 p9 Z, v9 b54.函数花指令的剔除
! b7 S; P6 N3 l) Y- W) l1 }55.还原流程平坦化
3 I$ g9 h" x3 X0 V$ E6 k; F
& u1 ?0 v- W0 {7 z4 `
|
|