|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
5 j2 ]% u# O* j w9 Z. u* r课程内容:
; _* n$ n7 \% w+ [. _" W& s; {- K00.课程介绍
3 ]3 C3 H9 r( l01.环境配置
: V) \% ?1 J5 D0 u. o9 p3 o02.对象属性的访问方式
m! s, l4 y" q: z0 J" h* g1 L04.unicode字符串/ Z# z6 R1 n: K8 j+ P
05.字符串ASCII码混淆0 a, n `' ^1 |& u
06.字符串常量加密
! i8 T2 R0 p3 p B1 k07.数值常量加密
% z" O1 F, w; u- L; \08.数组混淆0 U( m9 w' d2 h0 Y2 u4 _0 n' w
09.数组乱序
! o7 W" V: w) r10.增加JS逆向工作量(花指令)
3 N& ]/ R' k4 G- x11.jsfuck4 K- \: { y+ B" Z* c
12.流程平坦化" Z# ^2 {; ?: b I2 W, ]
13.逗号表达式混淆1/ A# |1 [1 W4 \6 i* q6 Z
14.逗号表达式混淆2
5 V: R2 j1 n+ [( v; K) t15.eval加密
3 s( s& V* c$ Q( `/ T( P16.内存爆破
- p7 E% T/ a* a3 Z17.检测代码是否格式化2 [$ z8 E4 l0 o" f; ?4 `9 s
18.AST的基本结构
) Z& ~0 |$ B& Z$ k) }9 S19.代码的基本结构) d b/ \8 a" K0 P% g" ~; P% [
20.parser与generator
) ^6 N1 E$ s. l) x& R21.traverse与visitor* K5 _" S" ^- V2 e, a
22.types
& y' D d. J( F8 {+ j+ y23.Path对象详解(Path与Node的区别)! B6 c5 s* ^1 ~ b$ X$ w
24.Path对象详解(Path中的方法)
2 q" p2 f6 K# k0 z2 c25.Path对象详解(父级Path)1 E7 o, A/ D) F' j. S
26.Path对象详解(同级Path)" \2 x# Y0 s: h2 v
27.scope详解(作用域): \4 G5 [7 x. L* p3 d# W
28.scope详解(Binding)
/ N( n9 t( s. V8 \29.scope详解(referencePaths与constantViolations)9 Y7 _, A- T9 ]- K' B; q
3.十六进制字符串
: T/ y6 F# b; h- ]+ z; _30.scope详解(遍历作用域)
3 V: d& }! X5 P- L, f. S/ m% z31.scope详解(标识符重命名)
6 Z& ?2 J. B; a8 Z32.scope详解(scope的其他方法)
/ w7 i0 c9 J. @) {% w33.改变对象属性的访问方式
% ^8 V) H# \4 f% a4 _$ A3 n6 t34.JS标准内置对象的处理2 s2 f) E( B4 @6 k- J
35.实现数值常量加密
6 S9 p! a: Q# ~4 n' I. j36.实现字符串常量加密" @0 w' I5 ~' B/ a9 F1 k' r, K
37.实现数组混淆* q/ h3 Z; e+ t5 `2 Z
38.实现数组乱序2 |! P; |# o* R
39.实现十六进制与unicode字符串9 A& a0 t2 A* ^: k0 Y
40.实现标识符混淆# |+ C# F1 Z9 k: ^* I6 i. v
41.标识符的随机生成
# D2 ^1 k! X" V9 B42.二项式转函数花指令( B' C( @2 u0 j+ M a8 A8 S: d
43.代码的逐行加密
5 [' L) e0 [7 a) R; \! a2 q8 ?44.代码的逐行ASCII码混淆
1 Y, i; {4 U/ P1 T ^. }$ l45.完整的代码与处理后的效果2 i% k4 u2 t1 N9 |
46.实现流程平坦化混淆1% X' o a3 t" A, y7 \" N) k- _0 ?
47.实现流程平坦化混淆2
( [$ U _3 D7 g [$ G$ x48.实现逗号表达式混淆1, R+ N0 z$ [( A
49.实现逗号表达式混淆23 z8 V! V. ?! ^9 _5 P& w4 L0 @
50.分析网站使用的混淆手段- ]# y+ O+ ?2 G5 e7 a; S
51.还原代码中的常量
' C- v& `" c1 m9 o; e) {52.花指令剔除思路( h3 [7 V3 J1 Q5 Q, N: t2 p
53.字符串花指令的剔除2 _7 M) `: h0 F5 m+ V; k
54.函数花指令的剔除
$ v$ X5 H! H2 c; s, t55.还原流程平坦化
Y2 c2 n1 W' \: J4 g& f
: U3 c8 Z" }; U0 c+ f; n
|
|