|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
) Z% E. w) M0 d, y课程内容:
2 i- D$ p8 Y4 H: r00.课程介绍
. E" K: [' z+ r$ F" {01.环境配置
) Z ^0 o- r* Z# f02.对象属性的访问方式( r6 W; ~6 a& M& y N
04.unicode字符串
3 e% `8 Z$ M( _3 g8 y05.字符串ASCII码混淆
: i8 K Q! z, K% }6 K! G1 e06.字符串常量加密
* s: r6 J' A& V07.数值常量加密$ Y% F6 ]* _9 ]" U
08.数组混淆6 `% ]5 l1 S8 m% q
09.数组乱序
! V' d3 D7 K/ D! V4 w ^+ t. n10.增加JS逆向工作量(花指令)( ? Y6 r# E: ~: }2 S
11.jsfuck |+ P/ g X, U$ x
12.流程平坦化
* v" L6 e% ]" G- q+ |/ k6 ?13.逗号表达式混淆12 e0 P+ h0 s2 H9 W9 g3 T, Y3 n o
14.逗号表达式混淆2
$ A/ g: x8 h8 m& T4 u4 ?15.eval加密
4 G, e. n: M9 R3 r5 I5 B# Z4 X, y16.内存爆破
; N1 ~0 y1 o2 U) J17.检测代码是否格式化
. G+ V+ F/ a& X8 }2 I18.AST的基本结构$ |/ Z+ u# [- N- ?# p! \* R
19.代码的基本结构% g5 i; k/ c1 C5 y
20.parser与generator
$ p c( f. ]$ _4 t0 ?, w21.traverse与visitor
1 T; \4 \. O3 V) n, I. P22.types2 E1 M, n% |" @
23.Path对象详解(Path与Node的区别)
# J1 j, u2 ~+ k8 k2 A5 f. e24.Path对象详解(Path中的方法)
5 H1 _7 j1 m3 G25.Path对象详解(父级Path)
$ q: a+ _% E. m+ [26.Path对象详解(同级Path)) W/ N2 g- i& X3 ^$ {
27.scope详解(作用域): I' s. t5 H! R! o4 v8 T, z
28.scope详解(Binding)
$ Y y% }' J! C) A% {29.scope详解(referencePaths与constantViolations)4 O* F; S; c" V5 d0 Y
3.十六进制字符串
- H6 L2 \, y2 l5 X4 X! ^6 D2 z+ u$ n4 {30.scope详解(遍历作用域)- ^$ ]( \3 J1 L X7 u' L
31.scope详解(标识符重命名): U& C4 W% c" ?: g" K9 q, @
32.scope详解(scope的其他方法)6 g/ h0 k- Z, n6 }
33.改变对象属性的访问方式2 Z7 b! w! X" N; W u
34.JS标准内置对象的处理+ |: B M! |3 S1 H, J6 W
35.实现数值常量加密- m- Q/ o: W% y0 e
36.实现字符串常量加密
! o+ y5 F9 A% v) l% M/ Z2 a6 L! l37.实现数组混淆
! i4 i1 K& U/ b- m38.实现数组乱序$ Q: C7 R- F0 X$ C3 |
39.实现十六进制与unicode字符串) ~9 Q z5 h4 j* h, b7 W
40.实现标识符混淆1 F1 ~8 H6 }% \& I) e2 C
41.标识符的随机生成) K- L. f$ a. l8 F$ U+ B. ]+ B- t
42.二项式转函数花指令
4 g6 w- p" w8 A2 c43.代码的逐行加密7 M& d3 I: H& w" r! L
44.代码的逐行ASCII码混淆) J4 l- U' p5 W! G
45.完整的代码与处理后的效果
% P2 b; U1 e+ S. v' i0 y! k$ z46.实现流程平坦化混淆1
8 f' d% I* J% u; N. t1 r47.实现流程平坦化混淆2
3 j ~" S( W- @( f48.实现逗号表达式混淆1
. W- Q5 i" V k/ {) z% G49.实现逗号表达式混淆2
5 M0 I* D$ J. i# M* [3 `50.分析网站使用的混淆手段
; R$ a7 }/ j8 |) m51.还原代码中的常量
W1 I$ ]& Q7 Z n& K9 o" m52.花指令剔除思路
, ?' R k1 H. l8 e53.字符串花指令的剔除- W" h: R C! H4 _
54.函数花指令的剔除' W+ W3 f' o6 n9 v5 R' a
55.还原流程平坦化
" E; q0 `: f: ?2 L, t
: J4 A1 I: ]) P1 k+ r4 A
|
|