|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。
: [# ^+ q+ i5 k) `! A课程内容:
* d7 l! N4 Y9 V7 O$ s4 p/ i00.课程介绍
1 q! u9 |8 p3 r; ~' L4 \: M7 I01.环境配置' I5 U! g' w- X$ W. I
02.对象属性的访问方式: E A' g- k9 o
04.unicode字符串" w7 \/ ^. _+ E; U" L) p8 [
05.字符串ASCII码混淆
1 G7 h" @/ `! D3 h3 ], L06.字符串常量加密
% B: n- r) H7 J6 K" x3 o07.数值常量加密( F) H4 H9 \7 x6 H0 ~
08.数组混淆. F* `1 D) U4 h$ Q P1 \
09.数组乱序
0 F8 m( W9 i; u# p) m10.增加JS逆向工作量(花指令)
/ K/ O. U" g& @# A/ F11.jsfuck
2 o( b0 d1 d D3 e' ^12.流程平坦化2 z7 c- _, O( v( i3 R* q) v0 E
13.逗号表达式混淆1
; C6 _. n6 `) M0 N14.逗号表达式混淆2
3 w, X$ r3 t! V7 ~ P1 r) }15.eval加密
7 w6 o' R# i* F1 I/ T" I; ^, P0 C16.内存爆破
' T' v+ Z+ l. P g! ~17.检测代码是否格式化, N2 e# a$ i% E6 n
18.AST的基本结构
0 S8 [% t; u$ j19.代码的基本结构
1 g4 k; Y7 C& V- @& P) G% [/ _1 q20.parser与generator
% z0 q0 T8 H4 `/ q4 d21.traverse与visitor8 T4 ]( ^- ^3 P& n$ U! k
22.types
1 ^4 N8 a" ~6 L5 j5 w# o, U) N23.Path对象详解(Path与Node的区别)* S/ K/ }1 ]" K& x0 E$ M& l- ^8 w
24.Path对象详解(Path中的方法); k p% ^% F# Q9 s6 O9 m* K
25.Path对象详解(父级Path)( `* e$ j2 f7 S$ M
26.Path对象详解(同级Path)
5 e$ Q* [' r. n27.scope详解(作用域)
7 @% l0 H! N' I. R28.scope详解(Binding)6 w3 E9 H' W) E/ J3 m2 u2 Z$ j
29.scope详解(referencePaths与constantViolations)
$ l1 f* O+ a# |# M. _3.十六进制字符串
9 Y: J2 R, f n7 L5 w30.scope详解(遍历作用域)
4 c6 A( v1 ?8 [" b" k; J+ e$ F) x31.scope详解(标识符重命名)
3 k H4 I7 {2 n3 u6 R32.scope详解(scope的其他方法)! c; V9 P* M) }8 o7 U" g& P
33.改变对象属性的访问方式" U7 g- W5 Y' o s
34.JS标准内置对象的处理9 W b* J+ z: C' {- |. \( L% s
35.实现数值常量加密
5 s* H N! u& z7 k$ r: x36.实现字符串常量加密
: ?- _6 p6 Z+ s1 c37.实现数组混淆- y( v: s6 n1 ?- B
38.实现数组乱序9 w" @# K T5 z/ v
39.实现十六进制与unicode字符串
$ f2 |2 I7 h/ B6 }# T40.实现标识符混淆
1 S& J8 t& X. T7 q" z41.标识符的随机生成) u. O* i0 {9 s9 ]: L6 p
42.二项式转函数花指令, p; y2 f3 q; X! C
43.代码的逐行加密
% |1 h# x ^; [1 V44.代码的逐行ASCII码混淆# L1 j2 i# W; A( d( r+ N+ ?
45.完整的代码与处理后的效果
6 q; `' c8 E% ^3 g5 _' d$ j- s: z# L46.实现流程平坦化混淆1
7 ?' R) y( Y% M, i47.实现流程平坦化混淆2
/ u) I k* G2 P2 u d48.实现逗号表达式混淆1
, A& h0 x' w+ r/ |6 O49.实现逗号表达式混淆2# y f: k: i( ^. E
50.分析网站使用的混淆手段
2 H( u1 h, `1 [$ `2 e! S51.还原代码中的常量
w; o- p4 ^; T* W( x6 @52.花指令剔除思路
( X# B }) ?! W) |* A! p( L53.字符串花指令的剔除
7 n" f: T1 | R& a- M; L54.函数花指令的剔除 X8 }1 U; m+ L' r t% V
55.还原流程平坦化
' I% W" Y, m" T: y& `2 _ 4 x. F5 _* L9 Z7 l0 _9 {
|
|