深度解析获取作品列表的加密算法
扫描二维码随身看资讯
使用手机 二维码应用 扫描右侧二维码,您可以
1. 在手机上细细品读~
2. 分享给您的微信好友或朋友圈~
在获取作品列表时,以https://cp.kuaishou.com/rest/cp/works/v2/video/pc/photo/list?__NS_sig3=xxxxxxxxxxx为例,我们发现__NS_sig3是一个由异步回调生成的值。
具体的加密逻辑如下:
s().call("$encode", [...])
-
s().call("$encode", [...]):这部分表示调用对象s()上的call方法,并将$encode作为第一个参数。s()可能表示某个对象或函数的调用,它返回了一个具有call方法的对象。
-
"$encode":这是传递给call方法的第一个参数。
-
[i, { ... }]:这是传递给call方法的第二个参数,是一个数组。数组的第一个元素i是要加密的原数据。第二个元素是一个包含suc和err回调函数的对象。
通过打断点到s()这里,我们可以看到i的具体数值。
进一步发现i也是一个加密的值,类似于md5加密后的样式。我们再往上寻找i的生成地方,发现i是通过m(t, e, n)生成的。
在函数m的内部,我们发现e被JSON序列化后加入到d(i)后面,最终通过a()(s)进行加密。因此,我们需要对i进行处理,并从中理解生成__NS_sig3的过程。
从逻辑上来看,i处理完毕后,我们就可以继续向下进行。由于__NS_sig3是通过s().call()生成的,我们需要确定s()的定义位置。
找到s的定义:s = n.n(o),然后找到o的定义:o = n(7606),我们发现7606是webpack,接下来开始解析webpack。
最后,验证结果。
验证通过后,尝试在Python中运行结果。
-
先用错误的sig看一下效果。
-
再试试我们自己生成的sig的结果。
运行完毕~
此部分算法与app中的某部分相似。
**本文仅供学习参考,如有问题询问或有需要可留言,或加q 1018866051 **请备注算法交流
- 妖怪手帐 官方服
- 塔塔英雄传说妲己豪礼开局版下载 v2.0.4 安卓版
- 热血沙城3d传奇
- 篮球经理 手机版
- 13号异常者 最新版
- 科洛蒙 汉化版
- 煮沸者 中文版
- 火柴人归来 免广告
- 王朝起源MUMU版下载 v11.1 安卓版
- 植物大战僵尸2 正版免费下载安装
- 饮料小镇 官方版
- 恐怖对决无限999999金币钻石版下载 v1.0.0 安卓版
- 饿殍:明末千里行 手机免费版
- 漂移猎人
- 1
加查之花 正版
- 2
爪女孩 最新版
- 3
捕鱼大世界 无限金币版
- 4
企鹅岛 官方正版中文版
- 5
内蒙打大a真人版
- 6
烦人的村民 手机版
- 7
跳跃之王手游
- 8
球球英雄 手游
- 9
情商天花板 2024最新版
- 10
旅行串串 免费下载