网友评分:
5.7分
zxt2007视频转换器 V2.5.0.0 官方版
Freemake Video Converter(免费视频转换软件) V6.0.0.4 官方版
Shutter Encoder(电脑视频格式转换器软件) V20.0 官方版
XMedia Recode(免费视频转换软件) V3.6.2.8 官方最新版
HandBrake(视频格式转换工具) V1.11.1 官方版
Pavtube HD Video Converter(高清视频转换工具) V4.9.0.0 官方版
MediaCoder(视频音频转码软件) V0.8.66 中文版
EV视频转换器 V2.1.9 最新版
bvid to aid是由知乎编程大神采用python编写而成的一款非常不错的B站视频转换工具,由于B站今日举行的维护UP主权益,将AV号将全面升级为BV号,与纯数字的 AV 号不同,BV 号是一段由数字和大小写字母组成的字符串,而这款工具可以将BV号转好为AV号。

首先从各种渠道的信息来看,应该是 base58 编码的。设 x 是一个钦定的 av 号,查询 这些 av 号对应的 bv 号,发现 bv 号的第 12、11、4、9、5 位分别会变化。所以猜测这些是 58 进制下的相应位。
但是直接 base58 是不行的,所以猜测异或了一个大数,并且 base58 的字符表可能打乱了。经过实验,bv 号最低位相同的数,av 号的奇偶性相同,这一定程度上印证了之前的猜想。
接下来找了一些 av 号 x,满足 x 和 x+1 对应 bv 号的第 11 位不同。设异或的数为 X,那么 ( 表示异或)。
由于 av 号(除了最新的少量视频)最多只有 27 bits,所以可以设 。然后可以发现 只和 和 有关,那么可以枚举这两个值(一共 种情况)然后使用上面的式子检查,就能得到若干可能的 和 。
这里我得到的可能值如下:(左边是 ,右边是 )
22 90983642
22 90983643
50 43234084
50 43234085
有奇有偶是因为异或 1 之后也能找到轮换表。而 则使得模 58 的余数刚好变成 减它。
我取了 b=43234084,然后处理最低位,可以得到一个字符表,即 fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF。
对于更高位,实际上还需要知道 ,这些值也可以 枚举 58 次得到,最后我得到的值是 。
这时我发现,每一位的字符表是相同的(实际上只对 b=43234084 是这样的),然后再微调一下参数(上面代码中的两个 magic number 就相当于这里的 ),最后处理了一下 的情况就得到了这份代码。
标签: B站视频转换
HandBrake(视频格式转换工具) V1.11.1 官方版
20.31M / 英文 /10
格式工厂电脑版安装包 V5.22.0 官方最新版
154.62M / 多国语言 /6.7
MediaCoder V0.8.66 官方版
89.74M / 简体中文 /9.4
佳佳ASF格式转换器 V13.8.5.0 官方版
5.75M / 简体中文 /4.7
录大咖视频转换器 V2.0.1.0 官方版
1.06M / 简体中文 /10
格式工厂转换器破解版 V5.21.0 永久免费版
134.04M / 简体中文 /3.4