|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。( U$ S. E8 L3 r* b- x# R" \
课程内容:
: u& [7 X0 {+ r* D00.课程介绍2 X1 A- f: R( a% m" ^
01.环境配置9 G& m1 A/ _/ A1 g2 }' ?1 `9 N6 ^
02.对象属性的访问方式
! t. K/ ~1 v/ D4 {7 l04.unicode字符串
% @) H- R* P' S$ T" [05.字符串ASCII码混淆
3 L1 g# I. I1 s+ ]06.字符串常量加密" G/ B+ p) G3 ~- c9 B. l/ x
07.数值常量加密
% d! T8 u" s& y& V/ j08.数组混淆
' ~0 s5 i5 u2 p' `: k0 V09.数组乱序
3 s3 N( f2 e* r. X. q10.增加JS逆向工作量(花指令)
1 n) s" V X% q7 k. N& ?" P11.jsfuck
; M9 o8 n3 e' F4 ?12.流程平坦化1 b: H5 I! e4 L8 G, a8 Y
13.逗号表达式混淆1
- w& E+ k1 `+ v# D2 ]& T8 b14.逗号表达式混淆22 H# k6 G \# r4 w
15.eval加密
, Y2 }& I% D0 d8 _6 v( R. \16.内存爆破
. W) m& a$ k7 c6 f17.检测代码是否格式化
8 _. h' B3 _2 ~4 I/ E6 R: d18.AST的基本结构% M+ c) K! H( r
19.代码的基本结构
" k% ]5 ~1 V* V& @6 b. w( o, R20.parser与generator
3 D; ~$ V( j2 N0 u: p- Y21.traverse与visitor
# @8 j. O! p* X22.types
) k! ?' {+ C( K4 _; G& j0 U5 O/ J23.Path对象详解(Path与Node的区别)
4 F1 |; `6 D- V( M# Y N: o+ N5 }+ E24.Path对象详解(Path中的方法)
" O7 C2 _3 |" R. L, F25.Path对象详解(父级Path)& N ^; V. P* R" i
26.Path对象详解(同级Path)+ r$ g2 d) u8 M
27.scope详解(作用域)
( i2 t# @" g2 \! v3 @7 V' I28.scope详解(Binding)4 x' k% k0 v4 u: e
29.scope详解(referencePaths与constantViolations)
1 e) ]. I* \, o- K9 ?, {3.十六进制字符串
% l T/ C3 `% | {; n1 Y30.scope详解(遍历作用域)
0 `) U/ @# }( o; [31.scope详解(标识符重命名)2 l2 p: O8 P8 Y) t8 g
32.scope详解(scope的其他方法)
( e/ ~5 @8 b4 e6 D9 @2 l. u, l, \33.改变对象属性的访问方式
9 N; b; r( s/ W4 o& o/ R34.JS标准内置对象的处理
9 n4 A2 b. ]2 ]+ x9 ]35.实现数值常量加密$ _: l, }* P! S& A9 K" Y0 v* l& C a
36.实现字符串常量加密
1 I3 y/ ^0 ~" d. B* ]0 o, \37.实现数组混淆" x) W+ [# T8 R( b- N" u4 B4 P
38.实现数组乱序' N, A! f+ U% F4 X7 O; C% f
39.实现十六进制与unicode字符串) X2 N& _" U' y: p
40.实现标识符混淆! H- ?0 x9 t7 r& L Q
41.标识符的随机生成+ s6 U& \5 r8 J+ \$ c- A
42.二项式转函数花指令
; i- H6 w! g! B5 P0 r43.代码的逐行加密
; n0 l' B4 Z6 e" i& }44.代码的逐行ASCII码混淆9 x$ L( B; a }/ D
45.完整的代码与处理后的效果
) F) ?& ]/ _3 ?# s/ Y. U/ Q# A46.实现流程平坦化混淆1
% f* q' `9 F# ]2 k- [* c* c47.实现流程平坦化混淆2
6 ?7 {3 h% U5 s& D48.实现逗号表达式混淆1
8 t4 E3 U) q/ k v/ ?9 ?, a6 |49.实现逗号表达式混淆2/ B6 F- m* E# S/ F2 ~& z) x
50.分析网站使用的混淆手段
; y6 V5 \ z+ j$ i/ T51.还原代码中的常量
- B+ Y% i/ K3 P52.花指令剔除思路
( G! }0 {) d t% q) P53.字符串花指令的剔除, L2 R% w, S* F) X; F3 N
54.函数花指令的剔除9 I, z7 T/ n; _3 a/ L- e
55.还原流程平坦化
5 Q* C5 m7 V7 w
$ c. H0 U+ Y0 K3 W. r
|
|