|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。7 w$ [8 Y3 ~+ n& D5 [* S2 H
课程内容:
2 o+ W+ P: C. R9 P* o- r2 K00.课程介绍
1 q3 v* R# h( o* h01.环境配置
4 A6 C6 ?% f* G02.对象属性的访问方式: n% ^/ @, w* t
04.unicode字符串
& f1 D* k& V- l1 E05.字符串ASCII码混淆
) T5 c' p( G) c/ H: J: y06.字符串常量加密+ f0 N L: V0 W5 r! A7 A. e
07.数值常量加密5 c3 G/ l7 [% y3 h
08.数组混淆( Y6 W8 ^2 p- F& {! s7 Y. ~! E
09.数组乱序0 N' n- Y/ R' g( d6 x
10.增加JS逆向工作量(花指令)+ y3 I4 {4 }5 p+ D; N
11.jsfuck
3 |$ n0 I: J1 F( | a12.流程平坦化
2 O6 B3 \/ i9 `) I. ?13.逗号表达式混淆1; |4 Y) [6 b+ C! k
14.逗号表达式混淆24 h' C- o: d. y6 d7 P: D" {9 n
15.eval加密+ I/ u8 f# v {& u. _5 F8 [
16.内存爆破. S8 w" G0 p! v" N
17.检测代码是否格式化+ `. L7 L- G4 @ v- S' ]
18.AST的基本结构1 K$ l. i) c& {% w* K% o! B3 m& \
19.代码的基本结构
; t! s) R$ T2 ?: I8 {! e) G20.parser与generator
7 z; H# h; P7 O% n21.traverse与visitor
& u2 G) Q) H. I5 O) V G# j22.types
+ w ?& b+ ^: G& q23.Path对象详解(Path与Node的区别)
: y/ }) n1 n; U8 p6 ?24.Path对象详解(Path中的方法)
7 k" ^7 q1 Q+ Z" F25.Path对象详解(父级Path)
- b# H& a' N% l2 p8 w7 S26.Path对象详解(同级Path)
& g1 k& ]5 Q+ R; @0 O- Y2 @1 ~27.scope详解(作用域)
1 }" H2 j# y$ f, L; \/ ]28.scope详解(Binding)( e. I3 a3 M1 r* @' U
29.scope详解(referencePaths与constantViolations)
t& e( }" [9 Y. B+ [4 u$ e3.十六进制字符串* X7 g2 v! E% I5 \. H% T' w4 `
30.scope详解(遍历作用域)
5 c, Q* K% D5 D3 x! ?( X- }31.scope详解(标识符重命名)% W+ i+ W3 W+ k# A/ ]; s+ O1 H
32.scope详解(scope的其他方法)
8 @, E4 K# ]: Q- j- }. s6 s33.改变对象属性的访问方式
) @6 v! \" h4 `& D34.JS标准内置对象的处理
: i. p1 D. @# s* C35.实现数值常量加密; C+ Q! G- X$ t
36.实现字符串常量加密. T4 n! d! V5 V/ x, O) F" L
37.实现数组混淆
5 o' U c3 {" a0 K! X: R* b38.实现数组乱序
5 N+ G8 |9 f! z/ S# q8 W39.实现十六进制与unicode字符串
7 O; I7 z1 @! k( E9 c40.实现标识符混淆1 t1 F/ |! ?2 }' m: a1 Q$ g( d
41.标识符的随机生成
7 w7 b+ f" Z. |0 U42.二项式转函数花指令 [+ ` [0 p& q t: Q
43.代码的逐行加密& _( ~# t; B7 u8 t6 Q8 {& G1 t" ]
44.代码的逐行ASCII码混淆! K. S8 ], x" {
45.完整的代码与处理后的效果
" g# k, C/ l8 c* _46.实现流程平坦化混淆1
: F* s5 R5 z* |" \( m; n: u) V47.实现流程平坦化混淆25 {/ z! n% F% p
48.实现逗号表达式混淆1/ m; _$ S( n; X! _8 I9 A( D& e; X
49.实现逗号表达式混淆2
' s2 L4 z, ?4 d' M$ @" w! ]50.分析网站使用的混淆手段- ~1 d, ]/ X, h; g% p4 F5 P9 p- [
51.还原代码中的常量
2 H( u$ p, y' |4 k52.花指令剔除思路
4 y7 r/ f( P! }& L53.字符串花指令的剔除2 E+ L/ B+ V- F0 M% \ ^
54.函数花指令的剔除
$ K! |, }/ f5 M+ E, o55.还原流程平坦化3 H. d& p! V; [: S9 _. S
w, W; Q" A- K1 P: ]- u2 M$ {
|
|