|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
% n \2 k; r8 B4 o9 x/ B* g+ c$ K课程内容:( ?( ^5 D& a, K7 n
00.课程介绍
5 {# N& H( H$ z. @01.环境配置6 P2 Z# k+ l8 `7 t) U% k: I# Z8 z8 g
02.对象属性的访问方式
% ]! J- k+ b5 u0 C# _04.unicode字符串
0 q& F# Y1 |" e3 M/ |05.字符串ASCII码混淆9 c# A8 A4 b5 W& {! r
06.字符串常量加密2 G, z$ }: g- H
07.数值常量加密
. t" R& x- C7 o5 Y0 M7 {) z08.数组混淆
6 w( @' `- d; A. Q1 |- R N09.数组乱序2 ]: i8 s0 a2 k9 k- \( D9 V
10.增加JS逆向工作量(花指令)
* `' v, V& M& z11.jsfuck
( Y, U4 _. I/ b. M. W5 Z: \5 @12.流程平坦化
' W" C5 b' E- o+ Q- x13.逗号表达式混淆1
; o4 _+ y7 t* p: _/ C( n14.逗号表达式混淆2
! d5 O8 n* E' z( M0 U15.eval加密
; s) F$ ^2 B& D' a- u+ F9 z) p! o' W1 {16.内存爆破
. J4 f K! h, M( r9 H: f0 c17.检测代码是否格式化
0 X9 Q* Y' ?' x, n. x1 l18.AST的基本结构
Y+ A. j* R8 [9 i! l19.代码的基本结构1 g6 Q' b. W9 s
20.parser与generator' i$ O3 N+ E5 ~8 \( L! d# G
21.traverse与visitor
o( s7 n1 b' {, O$ l22.types5 ~6 `6 Z$ Y% _; g8 K
23.Path对象详解(Path与Node的区别)
9 v5 W: ]: q# e1 t24.Path对象详解(Path中的方法)$ d+ I2 z& W/ R/ h7 e
25.Path对象详解(父级Path)
9 o: b$ s! y5 B0 @; [4 S8 M; x26.Path对象详解(同级Path)0 D9 [2 U, t( `. ^; v6 a5 i
27.scope详解(作用域)
5 C$ W6 Q8 _: ]- W- H28.scope详解(Binding)
- h7 v: B$ X. Y, R e29.scope详解(referencePaths与constantViolations)
# {# }, q8 S# C. {2 l# G3.十六进制字符串6 G: Z/ l$ z1 Y; D: Z) r* Y b
30.scope详解(遍历作用域)
& L$ v7 U6 I. T& l9 ?1 u9 g31.scope详解(标识符重命名)+ ~# h6 z# P2 D# T3 h7 Q" M) o6 R
32.scope详解(scope的其他方法)
4 R$ ~. j) D7 f% U( P) s: W/ [' H33.改变对象属性的访问方式
7 R3 ?* Q* A- z) h- w( _; t3 G34.JS标准内置对象的处理
, u5 C9 U |+ |5 L35.实现数值常量加密
# K: V6 F/ k. r1 G) y! r36.实现字符串常量加密
8 U, e& a: v& k& v4 t; @" N9 z37.实现数组混淆
0 w# B& J M4 }( R/ x1 r38.实现数组乱序6 O- X( N' w: I- e+ Y Y
39.实现十六进制与unicode字符串
! L5 e! T1 I e40.实现标识符混淆
0 T; _/ h$ Y* L4 r! N$ z41.标识符的随机生成4 n/ i6 @# Q. I5 Q3 A: K6 [
42.二项式转函数花指令" Y- ?- p9 L: d! Y+ D
43.代码的逐行加密- V- A/ p: H; l+ D) B
44.代码的逐行ASCII码混淆, l" |8 U" ~, _, s* `2 D
45.完整的代码与处理后的效果
9 p" N$ _" X0 }0 W1 b u46.实现流程平坦化混淆1
( P+ e/ n, k9 M. ^; x5 }8 R3 h+ s47.实现流程平坦化混淆2
0 ]8 J9 t% b* f48.实现逗号表达式混淆1
! [2 s1 s) T: P/ |& \7 A49.实现逗号表达式混淆2
! t/ B; A" N8 q/ H+ @$ H& ^50.分析网站使用的混淆手段& I! A) H- M3 B) Z! H% |0 T
51.还原代码中的常量2 E6 u- y5 W2 h9 c) `. M
52.花指令剔除思路
3 \; n( ^" [. \53.字符串花指令的剔除/ p' _6 f! x: r2 @% |6 w2 o
54.函数花指令的剔除
9 L) V& P: c" |& j55.还原流程平坦化
5 K, ]9 ]* }# `) @; |8 I P 1 C5 R/ t' }8 V8 _1 W7 j ?/ P" e
|
|