|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
% |; y7 i) }0 m3 }: _7 B* {5 g' [课程内容:" o: c% L6 f8 N* m$ Z, m8 Q' c
00.课程介绍
7 J0 k2 V& X, J( K, U; x01.环境配置
# }0 V: a! h/ W02.对象属性的访问方式* x$ G7 b" }3 q% t+ ?3 d4 w
04.unicode字符串
5 |( m: J; U l, S6 _2 T7 N05.字符串ASCII码混淆! P' P2 T7 a6 G& X" c
06.字符串常量加密% O! _6 d- m( ]/ d$ k3 O
07.数值常量加密; A1 y: h [- X8 r5 g
08.数组混淆
8 g" y; T9 H; p {) @& R09.数组乱序
' [ w1 s( e& K' s10.增加JS逆向工作量(花指令)
6 M4 n b% g, v5 @11.jsfuck
( v# [5 b3 m0 c; O12.流程平坦化% Q. Y: j- x" H3 g) g1 M
13.逗号表达式混淆13 N5 x K0 e( z) m! e
14.逗号表达式混淆25 Q2 t0 b- B7 q* F+ L
15.eval加密. U* ]4 Q. A& }% T
16.内存爆破
! m* v4 \9 {- [: [17.检测代码是否格式化
- x& G+ X/ @% D- c0 S' N18.AST的基本结构
8 [( j( ^# t. R( c; o19.代码的基本结构
4 j$ N8 B( w s# [; ~7 ?" W20.parser与generator3 o0 T, [3 x5 @
21.traverse与visitor
5 N) L& e1 O: X6 o8 r22.types3 \$ S9 h* z3 y3 L( g5 F. e
23.Path对象详解(Path与Node的区别)
3 }; }, S4 H' I" c1 i0 U+ h& i24.Path对象详解(Path中的方法)7 m- M5 v- p0 |# l# c7 x: Z2 [
25.Path对象详解(父级Path)" y' G* E T" [* j" [3 t9 L" b
26.Path对象详解(同级Path)
) [6 C* u# k% g# V$ t. Q! X27.scope详解(作用域)$ P+ e) s& ?% ]4 q! r+ S
28.scope详解(Binding); ]! U( K$ E! k6 N& S, p
29.scope详解(referencePaths与constantViolations)
( Y3 [ D }$ n3.十六进制字符串8 q9 V- W) t& Y( Z
30.scope详解(遍历作用域)- p0 @( W8 \ M) _
31.scope详解(标识符重命名)
W( f& |& E. \7 C+ {6 l32.scope详解(scope的其他方法)
; Y$ V1 d' S& w( N' M33.改变对象属性的访问方式0 k. O# t G8 B+ v# q- ]
34.JS标准内置对象的处理
& `* X& V: f+ X6 \35.实现数值常量加密) i* y5 G8 p5 v/ G! {
36.实现字符串常量加密6 C6 o/ }4 [& V. W& [
37.实现数组混淆* [3 {1 _5 W4 D/ {
38.实现数组乱序
+ @' Y5 s- O, n- p39.实现十六进制与unicode字符串; I0 i; M4 V& Z& W' _
40.实现标识符混淆7 `8 Q0 Y% W8 t5 Z" t( `
41.标识符的随机生成- o9 C0 n$ F+ j% a) Y! \7 g" C
42.二项式转函数花指令
/ \8 p) n+ e: ?) Z4 C+ F9 O [3 _( @43.代码的逐行加密+ m( M5 q8 C- i& `
44.代码的逐行ASCII码混淆- H9 M4 |( X# l) }# c
45.完整的代码与处理后的效果
! N7 b9 y! s" E* o, C6 b+ ?46.实现流程平坦化混淆1# e* b0 \2 p! X2 D# _
47.实现流程平坦化混淆2
+ w6 G$ K7 V, h+ W% u# B4 N48.实现逗号表达式混淆15 @7 R% @8 V, x/ P% O O6 P+ N
49.实现逗号表达式混淆2
) D1 o% Y$ z0 }! c50.分析网站使用的混淆手段% t+ t$ p. w- ~% E
51.还原代码中的常量6 S5 J3 K7 F% C2 j4 e$ h
52.花指令剔除思路" V0 V( p( I/ k- I3 k* i" b4 b
53.字符串花指令的剔除
; B+ i, `) U5 }$ O c: J54.函数花指令的剔除
1 {8 @5 L' n( S, ~55.还原流程平坦化3 Q2 |' z5 z5 x( l; h
; a; N5 Q E9 ~$ J, b
|
|