|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
; e5 p% G; m6 I: o课程内容:
3 k1 Q8 N) N* t3 S# B7 p00.课程介绍8 n4 L9 J3 s0 l5 l
01.环境配置
/ x/ q. f; T h9 ]: A* X02.对象属性的访问方式4 T" b. |/ v% ]2 [
04.unicode字符串
+ u, n2 l& F; m# b* Q, \05.字符串ASCII码混淆
5 O% u# ~$ d3 z! O9 R( I d+ }06.字符串常量加密
" D) A' ~$ A6 d- [! d07.数值常量加密# e7 E J; c. p a
08.数组混淆% p* w- h; q% c: T9 y' B7 a1 o9 E
09.数组乱序2 J4 S0 z3 k2 g5 g5 R
10.增加JS逆向工作量(花指令)/ \- U( q5 [5 V& I! A! `
11.jsfuck8 p- V; O: J- l4 {& A
12.流程平坦化2 A) R8 w- `% f
13.逗号表达式混淆1
# H+ z5 j6 \) A7 _% v14.逗号表达式混淆2
4 _$ n, w& I6 M# S1 o/ G15.eval加密6 M$ s6 r7 S" F- M$ e9 ~( p1 L
16.内存爆破& u/ O$ @2 X9 o
17.检测代码是否格式化# G: F1 \4 k& t+ Z
18.AST的基本结构
0 y( ^8 }" h$ ^19.代码的基本结构
+ M. ^. j* C* B8 F/ N20.parser与generator
/ b$ I+ D* S8 d% V21.traverse与visitor
+ h, q, W' Y9 b& L9 D22.types) y a/ A8 A2 y4 T, C; y
23.Path对象详解(Path与Node的区别)8 _7 j7 _. P8 j
24.Path对象详解(Path中的方法); d1 B" |5 M% o+ T' Z9 w! G2 w
25.Path对象详解(父级Path)
* E; m8 ]% Q6 d; p/ @26.Path对象详解(同级Path)
! f: v% r3 A" Z! p* a# y27.scope详解(作用域)
4 t7 o. K; S* o& R# M$ M! g28.scope详解(Binding)3 Y- m2 d6 f* K; }. v: r X( c% l7 A
29.scope详解(referencePaths与constantViolations)
- Z; H( o: j9 ^! R3.十六进制字符串
+ c: h6 W% E0 s/ g1 w30.scope详解(遍历作用域)' D5 l6 A6 i( }! w
31.scope详解(标识符重命名)
" `1 A. k/ ^; K32.scope详解(scope的其他方法)
0 O* I4 i* F# |9 |0 ]5 m9 @1 a33.改变对象属性的访问方式8 G9 A. x D. b. X4 [
34.JS标准内置对象的处理3 Y6 N- a1 U( { ~
35.实现数值常量加密
2 t) N' `* D% c. D( n6 z4 ]8 L36.实现字符串常量加密( M/ U8 l; R6 {2 s) U
37.实现数组混淆- g" S4 A3 l5 |4 c7 E2 V. p+ o
38.实现数组乱序
/ o+ a( Y. d, Q: ]39.实现十六进制与unicode字符串0 ]( z2 x5 k- L7 G: Y# a
40.实现标识符混淆
5 H; ]- k( g+ [) ?9 a0 i41.标识符的随机生成4 D b/ B) P2 o' R" R
42.二项式转函数花指令: h! q! y, b% @# a
43.代码的逐行加密
2 {: W$ C( I) @: J44.代码的逐行ASCII码混淆
: ]2 X: ]3 K4 D/ e45.完整的代码与处理后的效果
1 R, d! X) W* q# x46.实现流程平坦化混淆10 _, r1 y/ B0 T3 ^
47.实现流程平坦化混淆2; a( `3 v, _* @$ ~
48.实现逗号表达式混淆10 O7 a% |$ j' p
49.实现逗号表达式混淆2: a) K! d8 _, C- `5 f( I/ [7 D
50.分析网站使用的混淆手段+ }" V9 a- [* S8 G0 G7 k
51.还原代码中的常量
% s9 M5 U3 Q0 d52.花指令剔除思路
O6 ]) L% U; `53.字符串花指令的剔除
+ U" O! e6 u- l. _4 d54.函数花指令的剔除
6 m% t$ M" y" G) K& B( q0 V& A55.还原流程平坦化
( v$ K) Y" a8 C1 `) p- c- A
5 Z! b# u" r5 r9 Y
|
|