|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。1 H. g' R" b4 T) f( [
课程内容:
/ u$ l0 G* s8 q G( Q+ A0 n) t00.课程介绍: f. B+ R/ h! g1 {! K7 q- A. I7 J
01.环境配置
4 p8 g' A1 q/ b) r02.对象属性的访问方式
# G8 X$ I4 p$ o9 r) Z' \+ t04.unicode字符串
- z( q* Q; { K! Y0 o& e: T05.字符串ASCII码混淆
* n; `* _% G. f2 r5 k& ?06.字符串常量加密7 L' q1 [' t8 i: g3 p
07.数值常量加密
V0 R6 B3 T$ g+ G8 ^ s( X08.数组混淆
* Y: H" `& O" L/ R2 g6 G# z5 D09.数组乱序
1 q& o) e# M0 g4 ^9 Z# ^( Q10.增加JS逆向工作量(花指令) ?3 \ t# S( u
11.jsfuck p4 v2 m4 ^& K& z
12.流程平坦化
]) s9 |6 q7 u) g/ a13.逗号表达式混淆1' k1 l0 R8 ~; S$ v; R; l
14.逗号表达式混淆29 x* V% `" F3 Q% _7 A/ {
15.eval加密. d; {5 M( j% u" l4 n
16.内存爆破2 h |; t; b: s3 q; l( M2 H; d
17.检测代码是否格式化
* U( b' L. Q4 J- K7 z* k7 G% Q- p18.AST的基本结构4 Y3 J$ p. {/ m5 V. i% D$ y
19.代码的基本结构* P. v3 x/ z3 z$ ]9 x
20.parser与generator
8 V4 Y7 o! v" e5 _5 R/ q6 h! B! v21.traverse与visitor" v9 H' z2 x8 e0 [0 b2 m- Q1 L {
22.types/ e3 O2 \8 }2 c- W
23.Path对象详解(Path与Node的区别)% i1 H; ~" ~' Y
24.Path对象详解(Path中的方法)- E" m3 Y# I7 b6 K
25.Path对象详解(父级Path), a7 q, U5 y4 B8 D1 ?0 `( N
26.Path对象详解(同级Path)
' R# w* v% {& w$ \2 W27.scope详解(作用域)' g# p; J0 m! a0 r" K& Z9 e* {+ g
28.scope详解(Binding)
8 y) s% l; z1 @/ Q( L- G1 x29.scope详解(referencePaths与constantViolations) z/ k$ P b& _8 n
3.十六进制字符串
) X. u# g$ N$ ]" R1 i' C0 l30.scope详解(遍历作用域)
3 A1 T1 |) q: S4 e o9 ]31.scope详解(标识符重命名); H) U& S9 Y: M
32.scope详解(scope的其他方法)
( E2 M' K% N# i8 x33.改变对象属性的访问方式) Q. I( }6 p8 X3 A( \& O3 \
34.JS标准内置对象的处理
+ _" @3 X- U5 C9 E8 l35.实现数值常量加密! c5 l/ `% B) @: s2 o
36.实现字符串常量加密* Y+ Z" B Y9 L h: ~- X& \
37.实现数组混淆3 q) T( C% l+ E. _4 O0 D/ y" f6 C
38.实现数组乱序
1 ]# R! c7 ]+ M39.实现十六进制与unicode字符串, Y" ~2 T% {9 i# L' P9 ]* Z( ?& L5 `
40.实现标识符混淆
4 U" ~2 u. ^8 y% Y! Q1 b0 H6 X41.标识符的随机生成0 Y+ Y! V! O, u% ^, r
42.二项式转函数花指令
' f: L! c. r* P O) c! N6 k4 B43.代码的逐行加密
: r! s6 H5 }& ^- i. m44.代码的逐行ASCII码混淆 v: `( J" A0 z8 Z
45.完整的代码与处理后的效果+ \0 W$ i( G2 j9 p
46.实现流程平坦化混淆1' d0 C- m( C* x
47.实现流程平坦化混淆2" Y$ `* u, y3 U0 N! v2 b% s
48.实现逗号表达式混淆1$ h2 i0 J5 M, O" g1 L) | Q
49.实现逗号表达式混淆28 V$ { L- y' t% z1 ~& e
50.分析网站使用的混淆手段
7 Q3 \) P+ t: x3 E51.还原代码中的常量; ~% g( h% p3 u- G4 R5 M( }: y
52.花指令剔除思路/ e: i3 `- Y, ~5 p
53.字符串花指令的剔除
' ^* I8 u. L' p54.函数花指令的剔除
" o; p1 G s! k% ?, F6 w55.还原流程平坦化& q; r% z) E A
% {5 g( [+ C6 W
|
|