|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。5 x- Y( D% \- E- l6 V
课程内容:
5 y+ [7 |8 u8 K4 I6 T% M, n00.课程介绍
6 u6 {+ V3 A7 |" a01.环境配置) s+ P2 S6 e* ~* q$ z
02.对象属性的访问方式
; c7 h: s, a/ w b- a0 ]- R* t04.unicode字符串# b$ B: |" r4 F+ L
05.字符串ASCII码混淆1 f+ R% F! i/ m8 R* o* N* Z& ~
06.字符串常量加密
% i" P* z6 Q; G* b5 \4 R2 R07.数值常量加密" \6 ~- a9 @) a: [
08.数组混淆& E; C" @6 F2 K/ C1 w6 K: T
09.数组乱序9 R5 W: V0 r" t2 s, q0 f$ R' ?
10.增加JS逆向工作量(花指令)5 K" Y0 [% w5 N! G }
11.jsfuck
! m6 [# z+ a) T6 D% G0 x12.流程平坦化
% y) B; l% j& Y z$ `9 @/ x13.逗号表达式混淆1" R6 m. B h2 ~
14.逗号表达式混淆2& K( R+ J% `* w7 s- a% i" i
15.eval加密6 d8 f @ |! H( n$ Y
16.内存爆破
# X1 s5 a2 B( G) A% {17.检测代码是否格式化
& m5 F0 E0 t" k3 j: o# z( l18.AST的基本结构
# @$ r" E: q; ^" `% z0 A3 U# V19.代码的基本结构2 N; T6 V+ c x/ P
20.parser与generator7 y( }6 Y* y0 x" m
21.traverse与visitor; T' j0 k% g! r
22.types
$ l' s& u. w' m( ^+ |6 Q) x23.Path对象详解(Path与Node的区别)+ W$ B: R3 F$ ]/ c" `
24.Path对象详解(Path中的方法)
0 \* [. M; I! b, T) Z1 |/ Z25.Path对象详解(父级Path)
# u* N; X7 K$ r. |8 Z7 G. R26.Path对象详解(同级Path)) B. _6 M7 y* o0 n$ {* i
27.scope详解(作用域)0 j* o" |! m- h4 g8 `* J/ ~
28.scope详解(Binding)
9 j! d2 t! {' N- y+ d29.scope详解(referencePaths与constantViolations)
0 f: Y/ e" y* @ M- J3.十六进制字符串( S3 e h: Y# y4 i( d! z; a) ]
30.scope详解(遍历作用域)6 o+ a G1 }- N- ^ k
31.scope详解(标识符重命名)$ f+ _; v6 H' _7 M. M* v
32.scope详解(scope的其他方法)
6 S. O6 Z" n& I. }* V9 B( a- t33.改变对象属性的访问方式
' a3 Q4 p1 o& L& {+ n34.JS标准内置对象的处理- J1 J8 F m G
35.实现数值常量加密1 m8 r% {, }# \2 A( J% q! N8 {
36.实现字符串常量加密2 G7 d. v \ c3 o
37.实现数组混淆
; ]: r8 G _6 \. d3 P/ I5 y38.实现数组乱序
6 k8 g6 [7 A9 h. i6 P4 P1 U39.实现十六进制与unicode字符串
" ^0 n! _% [1 L$ Q$ {+ G40.实现标识符混淆7 D2 |( _0 E; v6 N0 h
41.标识符的随机生成- l( z+ X6 N& [6 `" t
42.二项式转函数花指令
' w0 A P/ Y) W4 e6 ^43.代码的逐行加密: E$ I) g- [1 \
44.代码的逐行ASCII码混淆
& I6 p" W# r$ i: d5 s6 g4 Y. W45.完整的代码与处理后的效果
+ v* c( U% u ]( f( a' `1 Z- W& D+ E46.实现流程平坦化混淆1
( }, t% X8 X( j0 Y" w/ {0 J47.实现流程平坦化混淆2" H( x; m; ~* P) b% Q
48.实现逗号表达式混淆1/ D* b8 f: M; s7 u/ s2 t+ V+ @- k3 f
49.实现逗号表达式混淆2
8 |; ^7 w7 }( O% T( V! P. f50.分析网站使用的混淆手段# M0 `5 ^7 B) ~- ?
51.还原代码中的常量
2 E$ J/ }4 h- P) s8 ~+ D52.花指令剔除思路
( S/ K0 o7 ~) R: X% v( r$ Z53.字符串花指令的剔除
* g/ E3 i+ B, z2 n4 Y) j7 w54.函数花指令的剔除
, ?: _* B- r! ^! y9 i6 L; S55.还原流程平坦化
" H/ t) ^: s* p, y9 S% v
6 j4 @4 [0 b9 E( ?/ E7 I
|
|