|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
, J4 h) N2 C) K+ Z, H课程内容:: F! J& e7 w! f9 |8 A2 Z0 I
00.课程介绍- D0 y b+ s7 p, m0 H' b
01.环境配置
) p- Y+ V1 e, O02.对象属性的访问方式6 a; v/ P1 \- G% a o0 v; q
04.unicode字符串5 L+ y: k/ l: X' ~) w+ W9 m4 O
05.字符串ASCII码混淆
0 c( Y3 ]* A4 ^+ e8 |: A" _06.字符串常量加密
1 m! ~1 f+ |- ?* c( ^1 s07.数值常量加密
0 T4 v- r3 M' }" @/ E1 A+ i08.数组混淆
8 k) e0 w2 W% T3 i% h7 e0 M09.数组乱序
8 N, }1 Z2 U8 C" L& K0 _10.增加JS逆向工作量(花指令)1 R( _ v& `" u3 q! ?/ |
11.jsfuck$ L& {- E) z( q* f
12.流程平坦化
1 {( t% }9 S4 |6 w; u13.逗号表达式混淆1
* P4 m" m7 f) }0 }14.逗号表达式混淆2$ f& `4 D# y" z) g4 m
15.eval加密/ ?9 a4 k0 k$ E( j$ |8 U
16.内存爆破/ u7 f) D" `0 Z' ~: t
17.检测代码是否格式化/ g% d; ?7 s' k1 h/ I+ v3 _8 q
18.AST的基本结构
; f: R5 v- E* O+ I19.代码的基本结构- e" v, z v# A, e P& \( \6 i, G
20.parser与generator
5 \ J$ b/ j$ K21.traverse与visitor
1 ~2 x: N2 V* A b( n6 X& K1 `6 [22.types6 I: \% {" J5 E4 w
23.Path对象详解(Path与Node的区别)
7 a9 h/ d/ V1 o3 n! w7 g24.Path对象详解(Path中的方法)
1 p6 V- L: x2 [3 c25.Path对象详解(父级Path)) p2 \1 z1 U' ?& ?9 v+ n- L
26.Path对象详解(同级Path)
) U! Y* i5 k2 ?* k9 O9 f27.scope详解(作用域)$ S* O9 u: E$ ?( |7 l; E+ \7 [
28.scope详解(Binding)
: t- M# W$ e- y. T29.scope详解(referencePaths与constantViolations)
7 [+ b( a; Z; `; ]3.十六进制字符串
+ e7 q# k) K& T" G& c- w30.scope详解(遍历作用域)
9 c; n, Y+ ]. q: T2 R+ t31.scope详解(标识符重命名)
" M+ n! [" ^* N4 h, v2 N32.scope详解(scope的其他方法)" T9 w! X3 P w# R4 p
33.改变对象属性的访问方式
/ J1 [* q. \, A1 S! M34.JS标准内置对象的处理. R: W( M. v% c& h8 S' ~4 [# L* u
35.实现数值常量加密( g( V) y8 f% A
36.实现字符串常量加密
0 O% Z# \/ D0 _. {# }. e9 ]37.实现数组混淆
1 b5 D' H9 s* K, b. a38.实现数组乱序
0 N w% _. ^+ s* ^1 y% R39.实现十六进制与unicode字符串
) R) Y( U1 B& M+ @+ N C40.实现标识符混淆
( z5 r' ?$ E7 z4 Z41.标识符的随机生成, ^: z5 m' ?5 N# _! y( J. Q+ r
42.二项式转函数花指令. F' E( c& z* W+ j. O
43.代码的逐行加密
' f. C# l* f1 t2 }4 i" k. e' g44.代码的逐行ASCII码混淆0 y6 L! [% Z0 w1 f4 i: w
45.完整的代码与处理后的效果
( C/ ?5 b/ o# n3 O" V46.实现流程平坦化混淆1
5 {7 ^2 k6 b* u* `9 C- ^, D! a47.实现流程平坦化混淆2
~" u0 |: {; d2 H I48.实现逗号表达式混淆1
& s/ _0 |/ y8 K& j, {7 `6 e4 _. b* e49.实现逗号表达式混淆2
4 V8 T2 ^' o8 O3 O50.分析网站使用的混淆手段5 F5 E# ?1 i, n* @/ n
51.还原代码中的常量
. X' U3 |& v$ `0 D; D+ ~52.花指令剔除思路
; y" B6 c7 \. ~9 Q. ]8 J53.字符串花指令的剔除
$ a4 a3 T9 K8 h+ Z" U54.函数花指令的剔除" i2 N4 e& M/ N0 j; h9 Q7 |9 s
55.还原流程平坦化9 f2 |8 R5 l8 y+ Y# ~+ U
- N I3 T# H5 ^2 B
|
|