|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
, b. t2 j( H+ V4 Z# |课程内容:
. |# e% g" ?8 S! |" C) d& b. D% Y; @00.课程介绍
& H2 ^: g0 X+ A! X01.环境配置9 \ `- \- @5 G$ ]7 e
02.对象属性的访问方式# u6 z2 t) W8 P3 P
04.unicode字符串
. }! \( ~. [) M, g8 o05.字符串ASCII码混淆, F- p1 g- H, I/ ~& h1 |: h
06.字符串常量加密" h. n) A% i0 v
07.数值常量加密
5 r" z0 F! @- d2 n08.数组混淆/ p" g5 v" o0 K
09.数组乱序% j! {" U% Y! w
10.增加JS逆向工作量(花指令)
' o6 {/ s' J; v( H2 f8 { X11.jsfuck+ V: P3 l; q/ k* `7 y
12.流程平坦化) m5 s' Z: e: P" ]# v6 m$ y. c# C; n
13.逗号表达式混淆11 Z; e1 Y: t% e- i0 h; d/ j
14.逗号表达式混淆2% Y% Q6 f, }& J- q
15.eval加密' h) m8 E& T( ]8 v
16.内存爆破
0 O' O# {' B6 g# V17.检测代码是否格式化6 a" p% S& \- B) q3 K# j* t
18.AST的基本结构
* }" _" w9 ?7 o0 P3 N& G19.代码的基本结构% `/ X0 H$ M, z2 g
20.parser与generator
8 N- [0 m" l: v21.traverse与visitor: p3 t/ k5 _" C; }" o7 n- k) j) ]
22.types! u F0 w; y; }0 c. [
23.Path对象详解(Path与Node的区别)5 O" F D# I. |# R4 W& ~: y
24.Path对象详解(Path中的方法): F/ Y% O9 Q9 L% _: p- a/ N; h2 T
25.Path对象详解(父级Path)$ t! f: I! `8 {' u! f+ G ]! }1 J! a
26.Path对象详解(同级Path)( s- U6 ~7 V3 l
27.scope详解(作用域)# {7 Y* R. I4 O2 n" L# h) _
28.scope详解(Binding)- ]9 r5 T, i7 z0 F- I$ G5 I$ }
29.scope详解(referencePaths与constantViolations). m& h8 D9 F, B) V( p% w$ Z
3.十六进制字符串
. H# f. e& D$ Z* v6 E a* x30.scope详解(遍历作用域)
$ c3 t' s, k8 [: h% Q7 r, V! r+ j31.scope详解(标识符重命名)$ \ C, l2 V" B4 U
32.scope详解(scope的其他方法)6 X+ o: g0 ]( l( w) c$ |4 |$ E. h
33.改变对象属性的访问方式$ O7 ]( k" Y% r# Q- N# L( A( Z3 H
34.JS标准内置对象的处理9 y$ z8 R8 e" }
35.实现数值常量加密
% J: o q K( e' }1 S36.实现字符串常量加密+ B) w. z$ N4 k6 X
37.实现数组混淆
6 b6 m/ J% D. |! ?38.实现数组乱序0 V! R5 t; L o( e6 K
39.实现十六进制与unicode字符串
! S) r6 @( S, O5 y40.实现标识符混淆( w- s" C4 h7 x- ~, E( R F
41.标识符的随机生成$ r% M) w. l" T. K$ X0 e3 v
42.二项式转函数花指令
( m) w% s" n X43.代码的逐行加密
" j2 X& m3 T& x* M4 l$ Q; G44.代码的逐行ASCII码混淆
K1 s+ E. _; f* E3 T. Q45.完整的代码与处理后的效果0 V" B5 ?2 X. Y: G( M- w
46.实现流程平坦化混淆1) w% {* b9 w/ U$ z; y) B
47.实现流程平坦化混淆2
3 L9 V" b* X: U7 a0 ^48.实现逗号表达式混淆1
$ \# o* I' \& A" c' g1 s- |49.实现逗号表达式混淆2$ W0 o( i7 I+ z; }, U# S
50.分析网站使用的混淆手段
' o9 Q; U/ ~7 j1 C0 K51.还原代码中的常量0 T. r m6 P1 ^7 c
52.花指令剔除思路
: K/ D. z& q' ?5 i" M2 r53.字符串花指令的剔除
! c; z0 o. L% b( b2 C2 j! E9 n54.函数花指令的剔除8 h* O, r, F4 v
55.还原流程平坦化+ |& F1 W/ X' o; C, }. Q v
* s# D! J, F# a9 X5 c3 N2 s
|
|