|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。1 y3 n% h- P' U e5 L2 d+ @
课程内容:
7 N$ d3 z* h+ S; \3 f: X00.课程介绍
# o' y: G2 j, E# B4 B% N- Q01.环境配置5 |+ e# `, o! ~$ S5 c2 _
02.对象属性的访问方式
& _( |) A4 T# L3 l9 I% Z04.unicode字符串
7 m1 W2 b2 `0 U. R4 w05.字符串ASCII码混淆! L! \* U/ _* I% [* O( T
06.字符串常量加密
. S. g/ d# P, f1 O07.数值常量加密/ r! t( T! A! L D
08.数组混淆
; c' _6 j4 }% G1 w9 u% ^0 q; D. b1 p09.数组乱序9 Q2 @7 K* g8 s8 t6 n% F3 U- c
10.增加JS逆向工作量(花指令)$ C' P8 i0 }# y- i* {
11.jsfuck0 A5 c4 O* A! t' O
12.流程平坦化2 w( {+ e. s4 s8 [4 ^* |- o
13.逗号表达式混淆10 w! x8 X+ o. a! t& q
14.逗号表达式混淆2
2 n! h3 f: d4 q+ X15.eval加密
1 ~ g! D l2 q% f2 U" e16.内存爆破
( r! H" z* F) S' j4 I. {' H17.检测代码是否格式化$ E* K+ x$ H, \& R
18.AST的基本结构" Q) Z& F- k9 B( p
19.代码的基本结构7 O. @) N" j" O+ c9 y* p r
20.parser与generator
/ y: Z# o1 N7 e8 i3 |: p21.traverse与visitor2 U8 f8 `& Z' p1 S
22.types
% p% D* w8 u" i4 i23.Path对象详解(Path与Node的区别)
4 |5 A0 @' m( ?; D2 j* Q, }24.Path对象详解(Path中的方法)
% a9 N( e) X0 ~25.Path对象详解(父级Path)2 h" r' n+ [$ U
26.Path对象详解(同级Path)3 K' ]/ u4 f) `0 B# b7 h
27.scope详解(作用域). z1 {5 R& b% u& |- {
28.scope详解(Binding)7 @+ v: i a2 s! ~( v! q# \1 w; F1 L
29.scope详解(referencePaths与constantViolations)
$ w, j4 ^. s5 L/ m& z! z3.十六进制字符串
' [7 u: I+ C/ T1 J30.scope详解(遍历作用域)
# @8 r' B R6 E4 W9 n# J0 {; Y% j31.scope详解(标识符重命名)" {* q0 h9 n4 X* N# |% F- B
32.scope详解(scope的其他方法)
& R8 j2 C1 o5 m- Y0 O# T33.改变对象属性的访问方式
% p- r% Y1 ?: Z8 | h2 k34.JS标准内置对象的处理, u, q1 L% d. P+ G* E r
35.实现数值常量加密* x" P( z; K4 p1 i6 g
36.实现字符串常量加密
; t/ s; {3 b9 U4 M37.实现数组混淆
v' W' D8 e1 ?: y |+ B7 Q0 ^38.实现数组乱序
" _ e9 t3 t i( y39.实现十六进制与unicode字符串
) T. q3 U, [& e* x+ M+ m4 A40.实现标识符混淆
: y @0 s% c( x" w+ q5 p41.标识符的随机生成
, X4 E. g p3 I/ |" L42.二项式转函数花指令
( z. m9 r. K& A$ u; H; W! N43.代码的逐行加密
/ D9 R& q; G! u3 v4 p3 Z44.代码的逐行ASCII码混淆
; r9 N- E% J6 X. C' a45.完整的代码与处理后的效果
, x. j# n5 [3 {$ u' B46.实现流程平坦化混淆1
9 j% m S$ s9 y. X3 T! s47.实现流程平坦化混淆2
& m4 ?: k1 W8 W# b. {" f48.实现逗号表达式混淆1
5 z2 a4 c$ W$ J49.实现逗号表达式混淆2- J/ O# ?1 N! A# ^3 W. o$ E
50.分析网站使用的混淆手段9 T% ~0 h% a: q) {1 H5 U6 ]
51.还原代码中的常量4 O1 w1 x2 o8 O% ?! Z" S4 P0 h2 k
52.花指令剔除思路
: n- f( T1 N% @53.字符串花指令的剔除0 q/ Y7 ]* Y! ~ R% x5 l
54.函数花指令的剔除
( y3 j" [ p1 @- a( T; {( R55.还原流程平坦化; O) a2 }, Q- f* }& U; [: O( z6 ^
6 `1 ^" T% }4 L( I
|
|