|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
5 O8 x6 n2 y+ {+ p课程内容:
5 N1 }4 o r2 f# ]$ |00.课程介绍 K7 }& z; p' e
01.环境配置
j. \$ n1 e% D! T7 }+ d+ ^02.对象属性的访问方式& h" P& X2 ^' \$ {5 \' H+ k
04.unicode字符串
1 \8 r5 j' H" t, s05.字符串ASCII码混淆
4 J! w4 v! a% n: E) Q8 ?; n7 g06.字符串常量加密! U( O9 D( ~& ~# Q4 X) B9 k
07.数值常量加密
1 w. r& \- f% L* t+ A08.数组混淆4 n3 I4 M/ W3 |7 h9 M% Z
09.数组乱序) U% q# ]5 q; ], D9 t! B
10.增加JS逆向工作量(花指令)
& B, h2 i. X6 V" X" \11.jsfuck [4 L6 C& V0 D7 s$ O
12.流程平坦化
! A% }' D! |. t1 z& w13.逗号表达式混淆1
2 c1 h. h1 `+ N! E! K- _14.逗号表达式混淆2
, o5 q4 e/ Z( o: B: V" i [15.eval加密5 v) A* b$ V# u: E: z4 F) f+ J1 w c! n
16.内存爆破
- k6 q7 F' Z* b17.检测代码是否格式化8 t" s J) \: H: B6 u
18.AST的基本结构$ H, K7 c# x( V7 l
19.代码的基本结构. h1 m) h" [. b( M
20.parser与generator
- h5 ?1 ?0 j4 x: e' q! P. X9 f* n21.traverse与visitor0 j+ h' q. M# P D7 G, E
22.types
2 w V B8 V9 k) \3 c s' n3 g) d23.Path对象详解(Path与Node的区别)
" w2 G" }5 r7 G2 ~24.Path对象详解(Path中的方法); s7 v+ Z8 b" z* _! d) Z- F% Z
25.Path对象详解(父级Path)
5 f( X- D9 J* X/ T1 i' \2 }* N* g26.Path对象详解(同级Path)( c- J, ~) ^6 G t7 r' f. ~+ r
27.scope详解(作用域)
( w, h- ~. a! k% A' @- S3 V* h28.scope详解(Binding)
- L- t- O9 ?( E29.scope详解(referencePaths与constantViolations)
- g+ R; v9 E0 u5 [; X3.十六进制字符串# M8 H# Q0 r |2 C# p# G5 X! D
30.scope详解(遍历作用域)
! M- Y& B/ ?1 d- k% A3 t1 P: {31.scope详解(标识符重命名)
4 e4 O1 t4 `8 I# b" y32.scope详解(scope的其他方法)
- y) J9 }. g) Z5 ^5 e2 H: C, |; l2 O33.改变对象属性的访问方式 \7 h" B ~; @% P3 H4 U
34.JS标准内置对象的处理
9 q( i( f' d; `35.实现数值常量加密
- c! f: L R& H) A36.实现字符串常量加密
! z, J ?7 \* c9 s8 |: A; [37.实现数组混淆9 d' d, ^ o* F" o4 T" [
38.实现数组乱序
- P8 J" [6 L+ L+ ]: y39.实现十六进制与unicode字符串
9 ~ _- g- D% W8 @40.实现标识符混淆
; U# a: m9 s6 e& Z) F/ |41.标识符的随机生成
, g6 U8 a. O G0 T42.二项式转函数花指令
7 o4 m8 w, d" } W/ j43.代码的逐行加密
( k; N4 f5 Y) d: I- o+ L4 m44.代码的逐行ASCII码混淆% A# c. l( s# B/ }
45.完整的代码与处理后的效果
E: B0 ?1 P2 s9 {- ?2 c" R! E9 v46.实现流程平坦化混淆19 w Z5 ~1 f+ {: I. m
47.实现流程平坦化混淆20 g& T1 v# r5 k- _( J( ]
48.实现逗号表达式混淆18 U7 C* f6 U* q
49.实现逗号表达式混淆2
- e- l2 n* _ l$ m5 {- R50.分析网站使用的混淆手段
: \& ^: E# N' _- H1 `7 v51.还原代码中的常量
: ?' [7 f% Z1 T+ g52.花指令剔除思路
' u/ v0 i7 I) Y, X; s* y53.字符串花指令的剔除
$ e {- D% }, k3 a. e54.函数花指令的剔除+ b S& ^" @/ ?- P6 e/ h9 D
55.还原流程平坦化
8 s9 V. }3 C7 e. z' E
! u6 P. e& `/ h5 p- V" H: Z
|
|