• 作者:SuperPaxxs扶摇直上九万里,绝云气,负青天,不知图哪了,正在努力搜索中...
    • 请使用 Chrome、Firefox 等现代浏览器浏览本站。有事 点击这里 联系博主
    • 想在魔帆博客投稿? 点击这里 联系博主
    • [ 既然来了就多看两篇文章嘛,你好意思走么? ]
    • 如果您觉得本站非常有看点,那么赶紧使用 Ctrl + D 收藏魔帆博客吧

163 key 使用指南

技术教程 chenjunyu19 1743次浏览 已收录 1个评论
目录
[隐藏]

网易云音乐客户端在下载歌曲时会向歌曲写入标签(元数据),其中有一长串注释,开头是 163 key(Don't modify):。显而易见,这是网易云音乐自己的识别数据,并且看起来信息量有点大。

提取 163 key

我们可以使用一些工具来读取音乐文件的标签,可以是专门的命令行工具,也可以是文件管理器或媒体播放器。值得注意的是,ffprobe 输出的 Comment 会被截断,因此可能不完整。下面以 mpg123-id3dumpVLC 媒体播放器 为例。

$ mpg123-id3dump 世末歌者.mp3
FILE: 世末歌者.mp3

====      ID3v1       ====

====      ID3v2       ====
Title: 世末歌者
Artist: COP/乐正绫
Album: 世末歌者-COSMOSⅡ
Comment: 163 key(Don't modify):L64FU3W4YxX3ZFTmbZ+8/Sm+VDuKL1N9WbXrMSwj2roX3nFerjLZ29+ygThEbpG/oFLahRh55XqJqIJQ4AiBlcSOODs9zpp5vYAcrAFFAxq7wIzRvxO7ncsfPktQ9yWWsYtsZ8gOa2nKCFyM/gjKsqW30C5x1NFWCsDeB+ZoO80RpZqApI71m+FWWd3M4zVap69KHy55z7xs1Q7JiiRT9UyMc1qJRGh0IVz74bf8h7vnItDqauc+yU0y2rro1uJ+PiCImrO0xS74kcZY9UQ4Ifu9RK3E+q0xbYQZo4MLizOneYoNGgbTiQNqayVsd7QypgdXAOYevvcInaeRxqPRJcbpzJ5P9ZVOc1+wkW0MHq/OX01ZrNxvLChL47JZ2Mb0qiOMB0K5acx2UpLsjmjmsNYIRlIzhy7JT0kEhl2tUsvLHrixsvhna932G0NtklXAhOoKa5ks4fn+RkPhWqyDmpzrE8YKAtoW2qiCEt3u64A8BVjBz6SyGUK7FenH+ssnfjz0F3fD9O03Ta1bGb2qpw==

...

163 key 使用指南

简单地去掉开头的 163 key(Don't modify):,就可以得到所谓的 163 keyL64FU3W4YxX3ZFTmbZ+8/Sm+VDuKL1N9WbXrMSwj2roX3nFerjLZ29+ygThEbpG/oFLahRh55XqJqIJQ4AiBlcSOODs9zpp5vYAcrAFFAxq7wIzRvxO7ncsfPktQ9yWWsYtsZ8gOa2nKCFyM/gjKsqW30C5x1NFWCsDeB+ZoO80RpZqApI71m+FWWd3M4zVap69KHy55z7xs1Q7JiiRT9UyMc1qJRGh0IVz74bf8h7vnItDqauc+yU0y2rro1uJ+PiCImrO0xS74kcZY9UQ4Ifu9RK3E+q0xbYQZo4MLizOneYoNGgbTiQNqayVsd7QypgdXAOYevvcInaeRxqPRJcbpzJ5P9ZVOc1+wkW0MHq/OX01ZrNxvLChL47JZ2Mb0qiOMB0K5acx2UpLsjmjmsNYIRlIzhy7JT0kEhl2tUsvLHrixsvhna932G0NtklXAhOoKa5ks4fn+RkPhWqyDmpzrE8YKAtoW2qiCEt3u64A8BVjBz6SyGUK7FenH+ssnfjz0F3fD9O03Ta1bGb2qpw==

Base64 解码

接着再对其进行 Base64 解码,可以得到一串密文。

AES 解密

经过网上一番搜寻,得知这串密文是用 aes-128-ecb 算法加密的,密码是 #14ljk_!\]&0U<'(

解密后,可以得到最后我们要的明文 JSON 数据:music:{"musicId":429460239,"musicName":"世末歌者","artist":[["COP",12002071],["乐正绫",1102240]],"albumId":34871118,"album":"世末歌者-COSMOSⅡ","albumPicDocId":"17790098137764958","albumPic":"http://p4.music.126.net/sZGaAxUHHhuhQ1Zxa2jw4g==/17790098137764958.jpg","bitrate":320000,"mp3DocId":"d82119ba7e3519b1f5e618ae2d289f4c","duration":321802,"mvId":5361399,"alias":[],"transNames":[]}。去掉开头的 music: 并格式化一下,便于查看。

{
    "musicId": 429460239,
    "musicName": "世末歌者",
    "artist": [
        [
            "COP",
            12002071
        ],
        [
            "乐正绫",
            1102240
        ]
    ],
    "albumId": 34871118,
    "album": "世末歌者-COSMOSⅡ",
    "albumPicDocId": "17790098137764958",
    "albumPic": "http://p4.music.126.net/sZGaAxUHHhuhQ1Zxa2jw4g==/17790098137764958.jpg",
    "bitrate": 320000,
    "mp3DocId": "d82119ba7e3519b1f5e618ae2d289f4c",
    "duration": 321802,
    "mvId": 5361399,
    "alias": [],
    "transNames": []
}

后记

最后,你就可以拿这些数据去干活了。具体能干嘛,不妨看看 Binaryify/NeteaseCloudMusicApi。另外值得一提的是,我使用命令行工具进行 AES 解密会失败,原因未知,用 Node.js 则成功。


魔帆博客 , 版权所有丨如未注明 , 均为原创丨本网站均采用BY-NC-SA协议进行授权 , 转载请注明163 key 使用指南
喜欢 (9)
[]
分享 (0)
关于作者:
一只爱好计算机爱玩 Minecraft 的高中狗。兼本站运维?
发表我的评论
取消评论

表情 加粗 删除线 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 给你增加点评论吧。
    repostone2019-05-17 18:59 回复