|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。1 K g- t4 A- M$ Y8 _7 p! s* H
课程内容:
2 A2 _5 F; T# U; Z4 f6 Q1 ~( z00.课程介绍, W/ m4 L/ M! x
01.环境配置% k: A( ]6 U) M2 O ^5 |
02.对象属性的访问方式" C2 D; P6 c, E" J# S5 o
04.unicode字符串
# d8 \% Z9 E2 ]* c05.字符串ASCII码混淆/ ~* M* j3 Q0 Z* _# r
06.字符串常量加密) Q& l* q8 V2 U
07.数值常量加密
' x) ?: d; x; e" u6 W$ B08.数组混淆' I9 o2 j5 z" A/ U' o0 G" i7 g
09.数组乱序0 m P1 p5 U5 v& y: @ C; g
10.增加JS逆向工作量(花指令)) f; n) W( B$ I( f- ~
11.jsfuck4 B! n/ G, Q6 g
12.流程平坦化
3 E& K+ o u3 t, x5 _4 N13.逗号表达式混淆1. N2 G/ H7 J) T+ O0 ]
14.逗号表达式混淆2
; }% G5 h9 P# {! P, k) S15.eval加密! {* g, d5 F6 @) _% m0 k0 e# h
16.内存爆破
5 R$ U3 R! f% n17.检测代码是否格式化
1 O' x+ H$ J% H2 [$ h% S18.AST的基本结构+ h- T5 ?9 J6 X6 z7 B( `
19.代码的基本结构
% L1 z6 i9 u8 W% }/ |20.parser与generator, t! K9 O4 m. g$ G9 U
21.traverse与visitor$ L3 _( G3 O6 w
22.types% t2 q" C1 f/ ^ S# J! f
23.Path对象详解(Path与Node的区别)8 y7 |! M1 u+ I2 X
24.Path对象详解(Path中的方法)
/ M# v- w9 T* o. o! B25.Path对象详解(父级Path)
0 z& h) x/ t8 _% d26.Path对象详解(同级Path)
6 s. d/ o6 V2 `: T1 F% r27.scope详解(作用域)! p! b. h) ~& E1 p
28.scope详解(Binding)% v5 f9 `8 W9 g& W7 ]
29.scope详解(referencePaths与constantViolations)
- O3 {' c5 w7 p' b5 P" n" h3.十六进制字符串5 J. b6 e( n3 z) ]
30.scope详解(遍历作用域)
% t6 B) g% M% W+ @5 ?$ F31.scope详解(标识符重命名)
1 D$ m. \- e; l32.scope详解(scope的其他方法)
6 ~* D0 Z+ m+ F7 H0 J f33.改变对象属性的访问方式* ]: P8 U, M9 U# r
34.JS标准内置对象的处理1 F4 B) y% |7 f4 i; F% C) P* e
35.实现数值常量加密
4 B' E6 Z" y( U* B% e' V36.实现字符串常量加密: L# R3 n. J$ Y7 y" `, {
37.实现数组混淆/ J# R9 |% H8 O( t' K3 s
38.实现数组乱序
) D% t$ U. d8 ?( O3 W" Y39.实现十六进制与unicode字符串2 e6 R3 T! z3 k* S a
40.实现标识符混淆
+ j2 e1 p% @, Y0 u- J" S; S" Q3 \2 ^41.标识符的随机生成
( E p! p( w8 N# i e* Q6 O42.二项式转函数花指令* G9 s/ u# H6 I7 T, U
43.代码的逐行加密
* X% l0 M( |7 _6 ~. S44.代码的逐行ASCII码混淆; O) N2 w5 j' M
45.完整的代码与处理后的效果
+ V$ I3 d4 R1 D- d/ u* n/ b8 O46.实现流程平坦化混淆1
. h; d! R$ M* K$ g% I9 \ V47.实现流程平坦化混淆2
% c) x. i- ^3 X/ M5 I2 }48.实现逗号表达式混淆1
, d0 J8 T8 X Y6 n4 ^1 ]% C49.实现逗号表达式混淆2
/ `1 D" [* {! _; g6 p50.分析网站使用的混淆手段
$ \2 q$ l' q k/ K1 ^7 R* ^5 ^51.还原代码中的常量
4 R' t( \. T% l3 m52.花指令剔除思路& E% J) C5 m: p$ P
53.字符串花指令的剔除/ Z" @# Q$ a, K6 }( c( u- _2 C
54.函数花指令的剔除( c) ~% O$ n }( `
55.还原流程平坦化" z/ L: \, I9 A( x( E% C' f
; v7 p" d0 o; x0 R1 _! ?. D
|
|