|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。( W% F, _) x: e9 L
课程内容:
# \, f: O9 f. [6 g) Y/ t+ ~00.课程介绍9 m% u( J! Z5 J0 b) o
01.环境配置
' c$ G( ~2 J# R02.对象属性的访问方式
! T1 K! f0 Y' \1 Q8 v04.unicode字符串
6 W( B! Z9 B/ E: V, e) z% f1 v" a05.字符串ASCII码混淆7 k7 h- t a( p; |
06.字符串常量加密
7 z# }0 f |9 c07.数值常量加密# ^% c2 H2 H* w/ E; d( S' P2 u
08.数组混淆4 w5 _( z2 A# y( L: Y* N$ G
09.数组乱序
" @6 ^8 s+ X, B7 P0 w; Q" k& v10.增加JS逆向工作量(花指令)
! A; e1 D+ \- w2 Z O: ^11.jsfuck
$ N/ v( L K6 ?12.流程平坦化
- T3 D7 H4 `# N F' K6 v% A& z) Y13.逗号表达式混淆1
- i5 e# p6 W1 f+ S2 V' I5 K14.逗号表达式混淆2
- l" Q8 j+ q3 R$ S! [# r/ s15.eval加密
8 z2 q! {) ^5 w9 [1 Y2 Q16.内存爆破- @3 Q. ^# B' I# Z
17.检测代码是否格式化6 @$ u k3 W3 ?( E
18.AST的基本结构1 M; o8 k4 J% S6 h# B" b/ U7 H
19.代码的基本结构
/ M* j" Q* e( j- V5 ~5 A20.parser与generator
' z; Y2 @4 x% |8 q) b21.traverse与visitor* \& X0 X& L8 I6 O
22.types! N" I4 ^! W6 |4 W( [
23.Path对象详解(Path与Node的区别)& w: Z. i4 p7 @+ q
24.Path对象详解(Path中的方法)3 L9 O& ~ c# [7 i
25.Path对象详解(父级Path)9 ? y& r% U8 S. r
26.Path对象详解(同级Path)
^7 R- d) f1 v- {5 u1 d27.scope详解(作用域)
3 u. R, w' F. c, M, t28.scope详解(Binding)
! d& v. N7 q: Y, Y+ q Z29.scope详解(referencePaths与constantViolations)
- n( x& [/ n8 s- p4 L; t3.十六进制字符串: Z9 Y8 m6 m- w! n$ i
30.scope详解(遍历作用域)
# C: B1 R: P# o5 @. E* @31.scope详解(标识符重命名)
: @, v/ m' M' i1 A# {( n32.scope详解(scope的其他方法)
1 q9 B8 u8 k$ g3 N" d) V33.改变对象属性的访问方式/ ~+ \/ O" J& f! P& g% {
34.JS标准内置对象的处理9 u& z, u2 ~+ O
35.实现数值常量加密
1 {+ `2 m4 u9 Z, @6 E: M36.实现字符串常量加密
- }5 J3 H" x* [9 V37.实现数组混淆- y f! u; o8 z" U8 R/ { S
38.实现数组乱序
, I& N; c2 j6 J; L8 X39.实现十六进制与unicode字符串
& Q$ Y' g$ o2 W* z: W% M40.实现标识符混淆2 |8 }3 |$ r& r% u( C* ^7 H- i
41.标识符的随机生成- H- Q& n. J/ q# H" U D
42.二项式转函数花指令
9 w1 y# u3 H5 d( T& G5 F3 B43.代码的逐行加密
& p# m O9 z# G44.代码的逐行ASCII码混淆
+ }. C. H; B) b" K$ f45.完整的代码与处理后的效果1 Y/ C( X$ Z! V1 O8 Z7 `. [
46.实现流程平坦化混淆1
# `, ~# U; Z( I! ^/ C- l$ _47.实现流程平坦化混淆21 D4 C% _! h8 |4 o+ f2 g- o1 B6 r9 A
48.实现逗号表达式混淆1
3 \+ P! ]- q1 k4 `& |49.实现逗号表达式混淆2$ _1 a0 P6 b2 i. ~9 r6 w
50.分析网站使用的混淆手段
* i7 f% b5 _7 ]51.还原代码中的常量3 a ]2 q' O& {5 @
52.花指令剔除思路
+ q4 h; J. y- e# B4 j ~- T( v53.字符串花指令的剔除. j% y C1 b; w; u" X" X
54.函数花指令的剔除7 I3 E7 E9 x2 e1 K4 J' {
55.还原流程平坦化
* t7 R- y6 j8 F7 [ , W9 D8 T! d! Y8 G: Z
|
|