PikPak网盘逆向过程和成品代码

逆向过程非常小白化,这个软件没有任何防护措施,也很适合当经验宝宝

成品代码在GitHub

起因就是因为看到论坛有人分享了E语言的代码,想到我几年前也弄过这东西还塞到机器人里面了。特意给大家分享一下,一定不是因为想升3级居然需要被别人赞

PikPak之前很久之前就搞过了,就是专门存磁力链接的,秒存/不限速/还能救救死种,大部分人都是给小姐姐安个家。

并且这个网盘不限制临时邮箱注册,完全可以使用域名邮箱批量注册刷邀请来获取会员时长,之前的代码弄没了,但是最近感觉还有一些用,重新整理一遍。(刷太多之前会被回收,一次刷一个用用就好了

开启抓包重新注册一遍,走个流程重新抓个包整理一下。

哇去!第一眼看到有图形验证码校验的时候心都凉了,感觉这下要麻烦了,不知道啥时候加的,已经很久没有用过 PikPak 了。

先尝试看一下这个验证码,验证码搞不定的话整个流程就G了。

验证码校验

查找验证码规则

看一下原始数据。

还好还好,看着不难,列表长度和验证码滑块总步长一直,每一个数组也是 3x3 和图片也对的上,应该就是图片位置描述。打开验证码网页控制台找找规则看看。

找一个正确的看看结果与其他的有什么区别,感觉规则还是很明显的。

  • 每一列中,逗号前面的数字相同(纵向一致)。
  • 每一行中,逗号后面的数字相同(横向一致)。

多刷新了几个验证码发现规则就是这个,提取代码让 ChatGPT 来完成吧!

查找验证码验证逻辑

关键词搜一下,总么感觉这么简单啊,连混淆都没有,直接搜到了,debug下个断点试一下。

没啥问题,就是 /pzzl/verify 的请求体信息,将相关代码拿出来补一下环境试一下。

ojbk,简单简单,连个混淆都没有做过,逻辑也很简单。

其他参数的生成逻辑

从抓包里面分析一下,大概就是 client_id, x-device-id, user-agent, captcha_sign 几个参数,其他的一眼看下去就是固定值,比如 package_name, client_version, timestamp。jadx 打开一下 apk 找一下生成逻辑。

全局搜一下,client_id 应该是固定值 YNxT9w7GMdWvEOKa

device_id 设备ID没啥要看的了,32位,判断新用户就是根据这个来的,老规矩直接 uuidv4 生成就好了。

user-agent 里面就是正常获取设备信息,这个可以直接从应用变量里面拷贝一大堆,问题不大,但是新增了一个 devicesign 参数,这个应该是根据 x-device-id 生成出来的。

生成逻辑为三段,第一段为 div101. 固定值,第二段为 device_id,第三段为三个值先 SHA-1MD5frida 看一下,应该是固定的 com.pikcloud.pikpak1appkey,结果为 430c9b9e393eb807dfc0c79466841630

captcha_sign 直接搜索没有搜到,但是有个特征是 1. 开头,尝试搜一下这个。

ok,没什么毛病,就是这个东西了,根据时间戳进行验签,扒一下 d.a 方法就好了。

组装参数循环调用 MD5 ,盐是从 alg/alg 或者 algtv/alg 文件夹读取文件获取的。

把文件拿出来读一下,简单整理进行测试,ojbk。

剩下的好像就没有什么要搞得了,直接根据接口整理代码进行测试。

测试

整理一下注册顺序:

  • /v1/auth/verification: 获取验证码和verification_id
  • /v1/auth/verification/verify: 提交verification_id和验证码进行校验,获取verification_token
  • /v1/auth/signup: 开始注册
  • /vip/v1/order/activation-code: 填写邀请码

这里面可会返回 400 错误,因为captcha_token参数失效,需要调用 /v1/shield/captcha/init 接口进行刷新,而这个接口返回包含 url 参数就是需要二次进行图形验证码验证,也就是上面找的东西,没有 url 参数就是直接刷新成功了。

这里利用的邮箱工具是自己之前整的玩具,大家可能需要对接自己的垃圾邮箱API,测试一下。

okk,注册成功,但是返回网盘发现邀请用户并没有增加,奇怪了,回头重新翻一下请求接口顺序,应该是中途还有必须的请求漏了。

找到一个 /vip/v1/activity/invite 可以请求,塞进中途进行看一下。

image

成功邀请成功,应该就是这一个请求的问题。两者在填写邀请码的响应值也有一点区别。Premium invitation code confirmed successfullyCongratulations on your free Premium for 5

补一个登录接口

因为我看有些人说刷的邀请会掉是因为被邀请用户没有登录,那些写一个登录接口吧。

后记

这个应该也是我当年正儿八经第一个分析和编写脚本的东西了,确实简单适合入门,没有混淆,没有反Hook,也不涉及so。

还不快快给小姐姐安个家!!!

150 个赞

精品,爆赞!

34 个赞

始皇住在论坛这是,从熬夜看面板到熬夜看论坛 :crazy_face:

4 个赞

看起来不错(*σ´∀`)σ

3 个赞

:+1: :+1: :+1: :+1:

3 个赞

mark! :+1:

3 个赞

mark!

3 个赞

好的呢 马上给小姐姐安家 谢谢好哥哥

2 个赞

mark,有空研究一下~

2 个赞

厉害

2 个赞

佬,这是啥软件,看着挺不错的,没见过~

4 个赞

精品技术贴,老哥太赞了,不用你说赞爆 :crazy_face:

4 个赞

Reqable 小黄鸟作者的新品

9 个赞

Mark ~

2 个赞

论坛越来越棒,

3 个赞

这么硬核吗?啥也不说了,先赞为敬

3 个赞

:+1: :+1: :+1:

1 个赞

厉害了 :grimacing:

6 个赞

mark一下

2 个赞

:+1:t2::+1:t2::+1:t2:

2 个赞