头像

林唯心

愿此心不违心

5 1 9
文章 分类 评论

开站距今天已有360 天。

友情链接

当前位置:首页 » 文章 » bilibili哔哩哔哩客户端模拟登录思路(未完成)

2019-05-27

7544人围观

分类: 文章

标签:


key数据来自于KAAAsS博客
本文章旨在研究哔哩哔哩客户端的登录逻辑
1.使用账号密码模拟post
2.扫码登录
3.使用cookie直接登录
本文章探讨第一种方案

  1. 全部流程

获取appkey,secretkey(√)
获取hash(√)
rsa加密密码(√)
sign签名(√)
发出请求(❌)
验证码处理(❌)

重要!!!↓↓↓↓

1. appkey,secretkey(这个先不用管后面拼接参数用到)

Device: android

Description: 普通版
AppKey: 1d8b6e7d45233436
SecretKey: 560c52ccd288fed045859ed18bffd973

Device: android_i

Description: 国际版
AppKey: bb3101000e232e27
SecretKey: 36efcfed79309338ced0380abd824ac1

Device: android_b

Description: 概念版
AppKey: 07da50c9a0bf829f
SecretKey: 25bdede4e1581c836cab73a48790ca6e

Device: android_tv

Description: 电视版
AppKey: 4409e2ce8ffd12b8
SecretKey: 59b43e04ad6965f34319062b478f83dd

Device: biliLink

Description: 直播
AppKey: 37207f2beaebf8d7
SecretKey: e988e794d4d4b6dd43bc0e89d6e90c43

②. 获取hash:
发出GET请求

http://passport.bilibili.com/login?act=getkey

会得到以下结果例如:

{"hash":"0f059c23e938e963","key":"-----BEGIN PUBLIC KEY-----nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjb4V7EidX/ym28t2ybo0U6t0nn6p4ej8VjqKHg100va6jkNbNTrLQqMCQCAYtXMXXp2Fwkk6WR+12N9zknLjf+C9sxn/+l48mjUU8RqahiFD1XT/u2e0m2EN029OhCgkHx3Fc/KlFSIbak93EH/XlYis0w+nXl69GV6klzgxW6d2xQIDAQABn-----END PUBLIC KEY-----n"}

说明

hash---防止暴力破解的盐
key---RSA加密用公钥

密码加密算法

将返回的key作为公钥,使用rsa加密hash接上明文密码。转base64编码。

sign签名

登录用链接:
http://passport.bilibili.com/api/v2/oauth2/login?appkey=appkey&build=5370000&channel=xiaomi&mobi_app=android&password=rsa加密后的密码&platform=android&ts=时间戳&username=明文账号

注意这并不是最终的URL还要对参数md5加密

将(appkey=appkey&build=5370000&channel=xiaomi&mobi_app=android&password=rsa加密后的密码&platform=android&ts=时间戳&username=明文账号)加上secretkey进行md5加密

最终得到的URL

http://passport.bilibili.com/api/v2/oauth2/login?appkey=appkey&build=5370000&channel=xiaomi&mobi_app=android&password=rsa加密后的密码&platform=android&ts=时间戳&username=明文账号&sign=md5加密后的参数


作者:

丨随风飘着,不也挺好。

发现一枚大佬

  1. 林唯心 林唯心 大佬
    2019-08-03 20:47

    哈啊哈哈哈哈