|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
" R/ X0 O8 E4 U: R }2 A课程内容:6 Q$ d- N) s' f! g+ c& \% e) ~; c/ ^ p
00.课程介绍9 y4 Y% J p1 K& u- b+ q( G
01.环境配置0 X5 Y* O# e* _% M7 u' M( k
02.对象属性的访问方式
, w, i* U9 s4 ~: n04.unicode字符串
+ O0 K: c1 U1 Z5 @% p- P05.字符串ASCII码混淆' H; T) a5 V0 g: w: w
06.字符串常量加密2 u8 E. }, X9 Y: u2 H
07.数值常量加密
& W" O: b3 S' e# g! |+ P08.数组混淆5 U/ \3 [8 B3 A: g) I3 ~# D! J
09.数组乱序
/ o- h, I( e1 Z. {, `% F$ U: f10.增加JS逆向工作量(花指令)8 F) e8 \! a$ C9 |* W
11.jsfuck8 N# P% F7 Y" e2 J0 ]0 c+ W
12.流程平坦化6 f! }+ m9 `5 H( C3 O9 W
13.逗号表达式混淆1# D8 O) b7 e- O; M: M, [" v0 Q
14.逗号表达式混淆28 _3 t. u5 O4 C9 b' d
15.eval加密- v! o# _/ `& S# L
16.内存爆破# G6 V* ?9 Q s: j0 H$ F( i
17.检测代码是否格式化, q' }3 E. a/ x" \8 i% b2 m
18.AST的基本结构
( x. \ B. S7 Y19.代码的基本结构
' b0 p- R+ N7 K. F20.parser与generator+ A. e0 ~8 Z; D5 S. ^! d
21.traverse与visitor$ I! {6 C0 g. r" c- D2 b
22.types) W! G/ p" J# _/ j2 @4 ?/ v1 i# `
23.Path对象详解(Path与Node的区别)
! e7 m3 X C8 w+ t: r) ]24.Path对象详解(Path中的方法)+ g0 q% `( l! @! q% L4 m
25.Path对象详解(父级Path)
% i$ l& o; M( l1 F26.Path对象详解(同级Path) S0 }. o, u( z6 L9 H5 U
27.scope详解(作用域)
# q- ^; N9 p2 W28.scope详解(Binding)* I4 u# B1 `% W' @: V
29.scope详解(referencePaths与constantViolations)
: h) F6 b" @/ n; s+ w: w3.十六进制字符串 ]& Q, v5 @) i
30.scope详解(遍历作用域), C3 J8 K* y6 r3 j q
31.scope详解(标识符重命名)
& g$ J) {' {/ N* V32.scope详解(scope的其他方法)
( S4 A( _3 x4 g3 s33.改变对象属性的访问方式
0 ]" s5 m: @% |8 e34.JS标准内置对象的处理
* K: I# l8 z6 a | o7 R35.实现数值常量加密: z# ]4 c- H: M* c) B9 I2 L' ]0 |
36.实现字符串常量加密. X$ F) J' V" `, \ l: J) P* Z
37.实现数组混淆5 |/ ?2 t" |' k( |6 F
38.实现数组乱序
( L5 V* O- |0 G$ s" t; L5 M39.实现十六进制与unicode字符串
+ N9 A6 S) Z; U9 Z \# P7 n. a40.实现标识符混淆0 j3 Q! E" m9 ?+ e' G) n. j
41.标识符的随机生成
, W/ {1 V2 [3 M5 V `" @* I42.二项式转函数花指令3 L2 I8 l3 }; e4 E
43.代码的逐行加密
8 b& K' A% o1 U6 j, ]. k4 d44.代码的逐行ASCII码混淆& Z% y' o Y* w
45.完整的代码与处理后的效果4 j! e l) b& p- q$ s; w
46.实现流程平坦化混淆1
4 ]; }2 l6 s: k) z/ \47.实现流程平坦化混淆2
" q! _$ o* ~# w0 Q7 w48.实现逗号表达式混淆1( U( b! D. g& E! s. A
49.实现逗号表达式混淆2% \1 F) C8 C% ^" }1 A! A
50.分析网站使用的混淆手段- Z2 ^ @3 t8 Q9 s& b; x* O
51.还原代码中的常量$ y! p8 T* y' O% Q1 g. j
52.花指令剔除思路) z% R0 Y3 Z8 S V* ~' T
53.字符串花指令的剔除+ P" R1 M# s% E( Z6 E8 ?
54.函数花指令的剔除
' v( i' V5 Q: d5 h+ e% q55.还原流程平坦化$ O! q% c* O' R, Y( E% }) b
) Z, @7 s t1 z9 p
|
|