|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。$ q. g; i$ e" ]) D& \9 A' ]( y
课程内容:
) \$ c0 l9 ]2 o& g6 Q u00.课程介绍
- p4 B& Y# y4 j. K1 y J' t% m4 B3 ?01.环境配置
4 {2 L( h, ^) U' X! d02.对象属性的访问方式
* V6 E0 ^ q; L1 {04.unicode字符串
) F8 |6 K T! t05.字符串ASCII码混淆* c5 X, V0 i+ F( Q
06.字符串常量加密) ]5 ~. R/ O4 a! \+ h2 V+ X& X6 A: H4 Q
07.数值常量加密9 K' u5 ^4 [8 z& ?! b4 _3 j
08.数组混淆( Z O, @" P2 l. B: t
09.数组乱序
% M3 H- F% V- O, `& w10.增加JS逆向工作量(花指令)
$ p9 B$ A* o/ s1 q# b `11.jsfuck
( j# p, C8 J& k3 C( Q! [) I4 h12.流程平坦化! @6 }0 e1 N* o; t( u4 P
13.逗号表达式混淆1
/ w1 g x. i2 o# v: F J14.逗号表达式混淆2: J* B" b; ?, f% |" n3 p
15.eval加密
9 c n& g6 M4 L8 S% s) @0 U2 t" Z3 ]16.内存爆破
5 ~1 P* P) h7 O17.检测代码是否格式化! w# `& H( v% I, {8 w( W! s
18.AST的基本结构
" b1 P/ X; B' K9 M) a% Z9 j19.代码的基本结构; p8 W4 b8 v& ^; |' K u
20.parser与generator
9 [, d; L. I* E6 C8 n" v: M21.traverse与visitor
9 @' r# R5 o+ G" F8 r22.types% ?' q7 a$ r& x4 h. Y1 e4 t, w
23.Path对象详解(Path与Node的区别)
3 @, T$ D' Z, P. t( y. O1 k" t24.Path对象详解(Path中的方法)3 J' u7 o: \# L3 g" u( S0 |
25.Path对象详解(父级Path)( E4 e; ]; A4 l5 I i1 T' {8 i
26.Path对象详解(同级Path)
5 b8 V. i, D& a4 t27.scope详解(作用域)% m& [) ^- E' Y" K
28.scope详解(Binding)$ `# t# s( ?) U9 S
29.scope详解(referencePaths与constantViolations)! d. H2 Q b" ]5 o" H r0 X
3.十六进制字符串
- T N4 b- q+ N30.scope详解(遍历作用域). c. a( o! C. c. g! B5 p
31.scope详解(标识符重命名). e4 C0 L/ X$ a: i- d6 m
32.scope详解(scope的其他方法)
+ v, x' j5 a: y& S! g4 J" x6 P33.改变对象属性的访问方式
y, Q, n1 s1 t$ U34.JS标准内置对象的处理1 R9 n) |' N N7 G/ r. t1 {
35.实现数值常量加密
, d; {% c3 \; Q; a+ V, S36.实现字符串常量加密
4 e2 J& F0 p# i( T g37.实现数组混淆
0 o3 p+ y; M1 K3 W+ @; n" s38.实现数组乱序) X i2 Q& w$ n6 C( X% P, G
39.实现十六进制与unicode字符串1 W, C5 H1 ^& C9 W5 G- T
40.实现标识符混淆5 U+ s& n% m& `# [
41.标识符的随机生成. d% G' [- e V, N" B' r2 |
42.二项式转函数花指令$ r5 C$ g6 S2 `8 e( ?/ Z4 h
43.代码的逐行加密
; A; N) j P" i, B: R: ?. \44.代码的逐行ASCII码混淆 `% q8 {) T' Q% K
45.完整的代码与处理后的效果3 A! ~' g. G4 F: i7 f2 c# J
46.实现流程平坦化混淆1
' s9 T1 V6 ~. G* [# v8 `* e, J% D. H# G47.实现流程平坦化混淆2
. Y, u* Q+ t! V) f48.实现逗号表达式混淆11 f, }+ d* \9 s
49.实现逗号表达式混淆2
8 n9 F0 J3 _, {. q0 j# n9 W50.分析网站使用的混淆手段
$ W' c3 z' O, r( _51.还原代码中的常量
/ M/ C( A- [6 s& [5 X52.花指令剔除思路
: ^" @, a C" ?( |# K$ i+ ^: d53.字符串花指令的剔除
) M3 `5 T$ p1 x5 ^54.函数花指令的剔除1 o# h7 V+ @" }! D
55.还原流程平坦化
, h7 t& w* a2 b5 m& [0 [ K! L " I3 p) N3 ?, |4 p
|
|