|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。+ t. x, T) q7 {6 _
课程内容:2 ~* {/ p: O' f! @* U4 q' Y6 U
00.课程介绍" q, ~4 r5 M) d4 i i/ Z
01.环境配置
5 H; B4 {4 F' K7 F2 N02.对象属性的访问方式
4 T6 { H& K2 e6 d% X9 r& E04.unicode字符串
1 V0 Z. @0 g1 B/ w8 d- W0 t! n05.字符串ASCII码混淆& W" T# s9 @5 w: H8 W% G+ q
06.字符串常量加密. ?5 K: N3 V: r3 E
07.数值常量加密: C9 M. ?3 y6 w
08.数组混淆
6 H h9 C/ a0 b) \) Y& U09.数组乱序
* J) @* C, c; \5 d10.增加JS逆向工作量(花指令)
$ L; R( `3 b q7 O# i11.jsfuck
3 ?& S* P( y7 }8 L v k12.流程平坦化, Z+ }. F- D. `9 V& |8 h
13.逗号表达式混淆1/ ^) A* k& y1 ^
14.逗号表达式混淆21 @& K& O5 t0 t
15.eval加密
4 K) z4 x5 I$ q9 D' e4 v3 z W16.内存爆破
3 [4 U$ M2 b2 w& G$ `6 R7 a; |17.检测代码是否格式化
8 S- d7 v2 @; X18.AST的基本结构; q( i! ]+ F5 Q0 v/ W; Y
19.代码的基本结构, e" L: D1 n8 q5 G* |
20.parser与generator
5 h. e* S' M# [& `21.traverse与visitor
$ m, }( T' h; Y6 [+ ~6 x' n0 ^22.types; Q" _' J8 r: ?6 Z6 Q J5 i- z
23.Path对象详解(Path与Node的区别)6 Q/ R& |' Z6 b+ \; q$ `
24.Path对象详解(Path中的方法)' e" J: Q5 G8 p# p
25.Path对象详解(父级Path)
4 V4 \; k# X# \9 G26.Path对象详解(同级Path)
; t Q; h+ W4 M: |& K27.scope详解(作用域)5 u/ _( a y: Z* y( o' O
28.scope详解(Binding)
7 [7 [! [- |+ H: [29.scope详解(referencePaths与constantViolations)
u6 |5 s$ ]7 _6 ~2 g7 F0 p/ T3.十六进制字符串
- Q9 W( ^! @0 q- [" ~30.scope详解(遍历作用域)
' P( k( [, h4 @; F3 ~1 L) F$ Q7 e31.scope详解(标识符重命名)* g1 v* i. L* z
32.scope详解(scope的其他方法)
! I" ~1 \1 K1 }33.改变对象属性的访问方式4 H7 ^" e7 }$ M- h
34.JS标准内置对象的处理
" ~. |+ T m$ ]6 d: e" s6 t! {35.实现数值常量加密
* n% B8 q" l$ z2 j2 s& K36.实现字符串常量加密7 c4 r h6 u/ E( G
37.实现数组混淆3 X( \& f" E/ ?' X$ `) h F
38.实现数组乱序, m. c8 l1 y$ i3 l% N0 Y
39.实现十六进制与unicode字符串
: s$ G# D) w% N8 l+ c0 v; ^40.实现标识符混淆
- z+ Y6 u# ?- B41.标识符的随机生成9 O( E. Z6 F! [" O
42.二项式转函数花指令
1 e1 L5 e- h* V+ W0 a9 q" A43.代码的逐行加密
% ]/ A6 j/ i1 s" n3 q3 ]% {44.代码的逐行ASCII码混淆
9 W9 h" ?0 O/ G0 o45.完整的代码与处理后的效果
6 X& h9 y3 S3 J" y H* S7 h46.实现流程平坦化混淆1
' e r8 k' X# j$ Y, M9 ]47.实现流程平坦化混淆2
, R4 ~$ o% M3 f/ G3 n/ z48.实现逗号表达式混淆1
& {9 I9 {' w: F% c49.实现逗号表达式混淆2' H2 j+ b7 t* D! C J' Z
50.分析网站使用的混淆手段
' T4 b: x" Q; |9 z1 C6 n51.还原代码中的常量1 A& [' F! y3 a3 K
52.花指令剔除思路
# b( v' d% s) i: }. h53.字符串花指令的剔除
0 B4 j: u7 b% R) A9 e54.函数花指令的剔除
& Q( `% V8 y* [ R, ?" z55.还原流程平坦化 C/ o# y& I" E2 [ q+ B# \
& B# ?/ B m( S) ]
|
|