|
|
本课程属于JavaScipt防护与逆向进阶课程。JavaScript混淆与还原,是当下反爬虫与爬虫对抗的重要手段。本课程从JavaScript混淆原理开始,紧接着介绍Babel库提供的相关API。有了这俩基础,就可以开始着手自动化混淆和还原Java Script了,最后本课程还介绍了AST在实际案例中的应用,以帮助大家更好的融会贯通前面所学的内容。5 F' T: C+ j3 i S; J" { l
课程内容: R4 B6 O. f# B0 f! y1 i# [! M U4 Y
00.课程介绍2 v# t9 a! r6 Q0 k( }
01.环境配置. N a- F. `, _2 h% r
02.对象属性的访问方式
0 C/ C& s' ~* k04.unicode字符串
6 R0 {7 B2 S" ?/ x4 n" N05.字符串ASCII码混淆( p% n( N& E" ~. |: L7 y& A% w4 z
06.字符串常量加密
% c f. A& R9 b |07.数值常量加密
8 e7 A6 [8 v' {" H, Y08.数组混淆& J& h$ |; E: E& H; E
09.数组乱序
1 S% \3 h* X. r+ y& \10.增加JS逆向工作量(花指令) S" S. L# y) r! V2 q% o- V
11.jsfuck
$ Y7 U3 F+ r6 ]+ I) |* i12.流程平坦化
* ~) Z: @- h$ D( [" o13.逗号表达式混淆1
# Z$ _9 \7 A* }14.逗号表达式混淆2+ B, R8 Y6 C6 }: q
15.eval加密: N1 o% o6 F' t9 L C2 Z& W
16.内存爆破
_0 E% \; G' q- {17.检测代码是否格式化
' @7 Q V. ?% P: A: x18.AST的基本结构
6 V/ V) ^5 ~: o* c19.代码的基本结构
n/ W% g G( J; M6 w. B6 ]20.parser与generator; u+ P8 w; o1 T% V
21.traverse与visitor* n& S& V! E' x+ |- F$ Q5 i
22.types
9 g- G. E+ l7 X7 W! h23.Path对象详解(Path与Node的区别)
* k' k* V% _( b0 Y5 X2 M. Q' R24.Path对象详解(Path中的方法)1 K' M- V& X% L$ x. X1 r
25.Path对象详解(父级Path)
# q% b$ C& _$ H) U" _26.Path对象详解(同级Path)
# y w) B3 L6 |* h0 j$ }, {& L- I27.scope详解(作用域)
0 C( e$ K1 F8 d# w, S( N; Y- Q: p& F28.scope详解(Binding)
0 V% _- {( X0 s29.scope详解(referencePaths与constantViolations)
9 A; r4 ^: u1 A" ^. B3.十六进制字符串. F/ h3 n- X. h+ O7 m" W
30.scope详解(遍历作用域)
& y7 W2 P7 s% ^( n! z& f# x31.scope详解(标识符重命名)
: Q. h) }7 h1 O' |- w, ]8 v32.scope详解(scope的其他方法)' |( Z& s9 r0 v& f
33.改变对象属性的访问方式
6 C# V0 P, j0 h- [34.JS标准内置对象的处理
" V# V1 F; @7 D4 [: y1 c35.实现数值常量加密
. E& F. _! Q+ g7 O9 o36.实现字符串常量加密
2 \. s6 p: @, M, E5 d- E6 u37.实现数组混淆1 }: T% I- w( ?( `
38.实现数组乱序* L- [; ^5 d' r/ w5 E) V
39.实现十六进制与unicode字符串( N! r- q9 B( u
40.实现标识符混淆
" E2 w) T2 L; G) Z! J- ~# d, `41.标识符的随机生成' | p4 N" b' U4 K1 g5 t
42.二项式转函数花指令+ X" b$ _0 T. Y: |
43.代码的逐行加密- i1 d1 g1 U, Q9 C
44.代码的逐行ASCII码混淆. S+ h7 ?8 |& f4 ]; ]" w7 L& o
45.完整的代码与处理后的效果
5 c/ Q/ E4 V# r; n5 K `" u46.实现流程平坦化混淆1
0 i2 @) c% w% u& m47.实现流程平坦化混淆2! q% a% D" l) S' \
48.实现逗号表达式混淆12 S5 q1 B& P/ u: d9 n, x7 C; v
49.实现逗号表达式混淆2" N2 T8 ]1 N: D$ Y
50.分析网站使用的混淆手段3 Z( m7 O U6 q9 T
51.还原代码中的常量5 r$ \0 E8 _' I
52.花指令剔除思路/ a3 f4 w$ G6 P
53.字符串花指令的剔除8 n1 |6 o5 K/ D# n1 q2 E4 }4 \* ?
54.函数花指令的剔除
! O8 C" t+ [/ V' X4 z6 _; i55.还原流程平坦化
; ? z* A' Q' y 9 z K6 o2 ?" ]/ g0 g, K7 w
|
|