|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。) T! Y7 X2 M/ j, R. I7 v8 j
课程内容:5 Z8 Z. g* \, V, H
00.课程介绍
8 D W& k1 g, b3 |" D" ?01.环境配置$ _2 E& O$ I$ @# B2 _! u
02.对象属性的访问方式
7 }" | I# k. Q3 c" }$ n6 D, n T, P04.unicode字符串
. U0 p% _+ [& B9 c6 f; j$ V& |# O* V05.字符串ASCII码混淆! L& u, v; C9 V2 ^- A. z1 Z
06.字符串常量加密
4 [3 p7 Y3 E- f: F, b6 q: a2 X07.数值常量加密
?8 d. T. P' O" [- X08.数组混淆
2 Z# g- s6 f7 i0 `7 a6 v' s6 ]09.数组乱序8 _6 x! m% \" V3 J5 z/ N
10.增加JS逆向工作量(花指令)
& q" ?) O9 U' n) w4 h11.jsfuck' q( v( b( ^( h: K
12.流程平坦化
* C) [% H) c X/ a- e13.逗号表达式混淆1: M% N) _ r' L6 r. x
14.逗号表达式混淆2+ v# K" B2 H4 c. Q! e. m q9 ^
15.eval加密7 C8 a6 H: G) k2 M& P+ d6 t
16.内存爆破
. Z6 o, }; `) {9 L8 ~; s% n17.检测代码是否格式化
' x0 |0 X) W% |7 }+ T7 U2 {6 K18.AST的基本结构
' j1 d9 m7 {1 f+ L19.代码的基本结构
5 `) \- N0 v& a7 P/ d* j) ~* X/ K20.parser与generator* r0 {" S2 @3 p- O, l' r
21.traverse与visitor
2 R; L7 D; H1 s: q6 X22.types6 E& O/ o5 P5 K6 b+ ?
23.Path对象详解(Path与Node的区别). M6 ^' p6 e/ ?1 T; C0 L
24.Path对象详解(Path中的方法)/ n+ Z3 k7 l) B. P }
25.Path对象详解(父级Path)
* K' A9 k7 t- k* h" A26.Path对象详解(同级Path)
8 }6 {: z% O; L0 t/ W27.scope详解(作用域), f. x/ R) v1 W. V% w6 [
28.scope详解(Binding)
8 z% D* }( O8 k* h) M. b29.scope详解(referencePaths与constantViolations)
. F6 ^( Z* W% s. e$ g3.十六进制字符串$ S5 s& P6 {2 G
30.scope详解(遍历作用域)$ z0 `4 n, ~+ X. T9 H
31.scope详解(标识符重命名)1 _0 r- J* s8 ~+ I3 S- t
32.scope详解(scope的其他方法)- h9 N1 Z2 m9 n- u0 n
33.改变对象属性的访问方式
% j& R$ M5 g D- Z& l# O34.JS标准内置对象的处理" |5 [9 \3 ^ d' ^( K; E
35.实现数值常量加密
2 r- f, ~8 P s2 W36.实现字符串常量加密0 g- G ]$ B' s
37.实现数组混淆
- R# ?4 y& m0 o6 U38.实现数组乱序3 P6 ]# v% D7 v+ F
39.实现十六进制与unicode字符串. z x8 l1 N+ k- _% T
40.实现标识符混淆7 I5 T: q; G7 Q) ]
41.标识符的随机生成- H. h6 a L! C/ s
42.二项式转函数花指令" r+ i+ Q/ I3 a/ m+ y
43.代码的逐行加密+ y t# n/ Y+ q* U8 C, D2 |
44.代码的逐行ASCII码混淆9 e- u3 Y& x d. x" @) y; u! V' a* ?
45.完整的代码与处理后的效果
4 [0 ? s0 F8 k! Y$ Z/ l3 L46.实现流程平坦化混淆1
0 A) l: m {+ X- @ B7 ?8 Z47.实现流程平坦化混淆2
$ x0 l- C u w# i( M X48.实现逗号表达式混淆1
5 m4 Q* n# a- C4 A2 a* _8 c, K49.实现逗号表达式混淆23 Q# c X- \) ?
50.分析网站使用的混淆手段
' L' J+ u+ m9 X/ h8 _ g/ n51.还原代码中的常量8 e; ]& ~, S# o7 F9 [
52.花指令剔除思路
& x! B4 n w0 U4 g# Z/ y* {) b53.字符串花指令的剔除
, D+ ~8 t# S7 r/ b) i54.函数花指令的剔除9 l) c: \4 i- n$ S! N
55.还原流程平坦化+ x1 E! E! z' X4 x3 ~! o- F" @
4 A5 d# V* Q- ?, b
|
|