JS逆向 -- 某新闻数据包中sign值加密分析

[复制链接]
查看9691 | 回复1 | 2023-6-10 16:55:20 | 显示全部楼层 |阅读模式
一、今日目标

+ I# F, L: x' ~& L# d
某新闻板块,往下拉,会自动加载新闻内容,然后数据全部在一个feed包里面,这个数据包提交的参数里面有个_signature值是加密的,这就是我们今天要分析的内容_signature
) e# |9 J2 [' U  Q1 m7 v
) C5 f  A# k3 E, f( v% S; u% s
JS逆向 -- 某新闻数据包中sign值加密分析-1.jpg
3 y" }$ o" I1 r4 {. ?# n2 J- P
二、开始分析1 I2 ^$ A& T5 o) {! z
1、全局搜索_signature
/ z" M; g. ?0 @9 {$ m9 _9 |2 D5 ]0 }: |2 R
JS逆向 -- 某新闻数据包中sign值加密分析-2.jpg
" M, n, _( |6 d
2、在关键处下断,刷新页面,断了下来,主要代码如下
; H5 Y' C4 C0 k: f; j3 z) [& J/ U  o! Z: L7 q: ^3 m( k3 f" J
JS逆向 -- 某新闻数据包中sign值加密分析-3.jpg

+ E& a9 e" Y2 \  w' }var n = I(F.getUri(e), e)3、进入I函数进行分析
; N" K0 ^* E( W* U
' X8 k5 d: f; k* R: W7 n0 e
JS逆向 -- 某新闻数据包中sign值加密分析-4.jpg
1 `" Q1 I  O' X( n5 y9 x* B, }+ k( {
4、单步调试,最后发现返回值为a.call(n,o)就是我们要找的数据,a=n.sign,n=window.byted_acrawler,所以最后调用的函数是window.byted_acrawler.sign(o)

. Z- l/ e  L( b9 `3 t+ b1 D4 o# A! [# Y+ m
JS逆向 -- 某新闻数据包中sign值加密分析-5.jpg
: m$ F% ^' i6 C& o9 |/ A
其中0 m9 l, X6 k3 D& d
o={url:'https://www.toutiao.com/api/pc/list/feed?offset=0&channel_id=94349549395&max_behot_time=0&category=pc_profile_channel&disable_raw_data=true&aid=24&app_name=toutiao_web'}5、开始分析sign函数,e.y始终大于1的,所以最后要分析的是下面的代码
1 ?- Y+ n5 Y& I0 K' ~K(b, e.c, e.l, f, e.z, this, null, 0)8 Y0 g3 s! x4 I6 y4 f
JS逆向 -- 某新闻数据包中sign值加密分析-6.jpg
; U% t$ p2 r" \' s
6、进入到K函数所在js文件,发现代码不是很长,所以全部复制出来,并保存一个新建的js文件
1 U% t$ h/ I" ^6 _. @0 I7、新建一个html文件,调用上面的js文件,然后在调用sign函数,传入参数,得到如下值,可以说明该加密文件是可以用的,下节继续讲解如何补环境实现。3 e. v0 X% W/ L4 h  `8 X
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <script src="test.js"></script></head><body></body></html>3 Y$ e- e$ |. K& R# j
JS逆向 -- 某新闻数据包中sign值加密分析-7.jpg
钻石糖闪石v | 2023-6-11 01:06:17 | 显示全部楼层
前几年爬头条不需要这些token
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

10

金钱

0

收听

0

听众
性别

新手上路

金钱
10 元