一直用网易音乐听歌,不过网易的歌曲版权确实是少了一些,在酷狗上可以找到,但收费歌曲只能试听不能下载。

寻找方案

从设置里可以看出,酷狗会设置缓存目录,试听的歌曲存放到这个缓存里。

打开缓存目录:

可以看到后缀为kgtemp的就是缓存的歌曲文件了。

kgtemp解密

不用算,肯定是做了加密,搜索一下可以找到解密方案(http://www.cnblogs.com/KMBlog/p/6877752.html):

class Program{static void Main(string[] args){byte[] key={0xAC,0xEC,0xDF,0x57};using (var input = new FileStream(@"E:\KuGou\Temp\236909b6016c6e98365e5225f488dd7a.kgtemp", FileMode.Open, FileAccess.Read)){var output = File.OpenWrite(@"d:\test.mp3");//输出文件input.Seek(1024, SeekOrigin.Begin);//跳过1024字节的包头byte[] buffer = new byte[key.Length];int length;while((length=input.Read(buffer,0,buffer.Length))>0){for(int i=0;i<length;i++){var k = key[i];var kh = k >> 4;var kl = k & 0xf;var b = buffer[i];var low = b & 0xf ^ kl;//解密后的低4位var high = (b >> 4) ^ kh ^ low & 0xf;//解密后的高4位buffer[i] = (byte)(high << 4 | low);}output.Write(buffer, 0, length);}output.Close();}Console.WriteLine("按任意键退出...");Console.ReadKey();}}

这样解密出来就是mp3文件了

读取ID3信息

解密出来的文件还需要手动命名,不是很方便,可以读取ID3V1信息重命名文件。
ID3V1比较简单,它是存放在MP3文件的末尾,用16进制的编辑器打开一个MP3文件,查看其末尾的128个顺序存放字节,数据结构定义如下:
char Header3; /标签头必须是”TAG”否则认为没有标签/
char Title[30]; /标题/
char Artist[30]; /作者/
char Album[30]; /专集/
char Year4; /出品年代/
char Comment[30]; /备注/
char Genre; /类型,流派/

解析代码比较简单,懒得写,随便找一段,注意中文歌曲用GBK编码就可以了:

  private static Mp3Info FormatMp3Info(byte[] Info, System.Text.Encoding Encoding){Mp3Info myMp3Info = new Mp3Info();string str = null;int i;int position = 0; //循环的起始值int currentIndex = 0; //Info的当前索引值//获取TAG标识for (i = currentIndex; i < currentIndex + 3; i++){str = str + (char)Info[i];position++;}currentIndex = position;myMp3Info.identify = str;//获取歌名str = null;byte[] bytTitle = new byte[30]; //将歌名部分读到一个单独的数组中int j = 0;for (i = currentIndex; i < currentIndex + 30; i++){bytTitle[j] = Info[i];position++;j++;}currentIndex = position;myMp3Info.Title = ByteToString(bytTitle, Encoding);//获取歌手名str = null;j = 0;byte[] bytArtist = new byte[30]; //将歌手名部分读到一个单独的数组中for (i = currentIndex; i < currentIndex + 30; i++){bytArtist[j] = Info[i];position++;j++;}currentIndex = position;myMp3Info.Artist = ByteToString(bytArtist, Encoding);//获取唱片名str = null;j = 0;byte[] bytAlbum = new byte[30]; //将唱片名部分读到一个单独的数组中for (i = currentIndex; i < currentIndex + 30; i++){bytAlbum[j] = Info[i];position++;j++;}currentIndex = position;myMp3Info.Album = ByteToString(bytAlbum, Encoding);//获取年str = null;j = 0;byte[] bytYear = new byte[4]; //将年部分读到一个单独的数组中for (i = currentIndex; i < currentIndex + 4; i++){bytYear[j] = Info[i];position++;j++;}currentIndex = position;myMp3Info.Year = ByteToString(bytYear, Encoding);//获取注释str = null;j = 0;byte[] bytComment = new byte[28]; //将注释部分读到一个单独的数组中for (i = currentIndex; i < currentIndex + 25; i++){bytComment[j] = Info[i];position++;j++;}currentIndex = position;myMp3Info.Comment = ByteToString(bytComment, Encoding);//以下获取保留位myMp3Info.reserved1 = (char)Info[++position];myMp3Info.reserved2 = (char)Info[++position];myMp3Info.reserved3 = (char)Info[++position];//return myMp3Info;}

转换小工具

解密代码作者提供了一个小工具(https://pan.baidu.com/s/1hsH2bRY)

稍微改善下:

下载地址:https://pan.baidu.com/s/1o7FIsPk

转换后就可以上传到网易音乐云盘了


作者:Jadepeng
出处:jqpeng的技术记事本–http://www.cnblogs.com/xiaoqi
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

酷狗歌曲缓存kgtemp转mp3工具相关推荐

  1. android酷狗缓存目录,酷狗缓存的歌曲在哪个文件夹_酷狗音乐缓存的歌曲在电脑哪个目录-win7之家...

    酷狗是一款很流行的音乐播放软件,当我们在听歌曲的时候,默认会缓存到文件夹中,方便下次没有网络的时候可以继续听这首歌,有些用户想要知道酷狗缓存的歌曲在哪个文件夹,我们可以从主界面中进入即可找到,接下来给 ...

  2. java接收的文件转换成临时文件,java实现酷狗音乐临时缓存文件转换为MP3文件的方法...

    这篇文章主要介绍了java实现酷狗音乐临时缓存文件转换为MP3文件的方法,涉及java针对文件操作的相关技巧,需要的朋友可以参考下 本文实例讲述了java实现酷狗音乐临时缓存文件转换为MP3文件的方法 ...

  3. 爬取酷狗歌曲并进行下载用的是selenuim

    爬取酷狗歌曲并进行下载用的是selenuim 1. 请求的url并发起请求 2. 定位元素,循环遍历 3. 窗口的转移 4. 获取歌曲的下载路径 5. 保存到指定的文件里面 6. 总结 开始来看看吧 ...

  4. 酷狗歌曲资源最新版权保护和反爬机制

    本文写于2021年9月24日,目标状态也是这时期的状态,未来目标状态可能会发生变化. 酷狗歌曲资源最新版权保护和反爬机制 一.获取酷狗资源----后端机制 一.获取酷狗资源----前端机制 三.酷狗版 ...

  5. KRSReader酷狗音乐歌词写真图片提取工具(提取KRS文件中的图片)

    最近发现酷狗音乐中的歌词写真图片还是比较给力的,很多友友表示喜欢,但是苦于不懂得如何提取,小菜利用周末闲暇时间写了一个小工具,专门用来提取酷狗音乐歌词写真图片. 废话不多说,软件界面如下: 使用说明: ...

  6. 酷狗歌曲赏析评论覃瑞2

    歌曲赏析评论 覃瑞 (酷狗:1338497126  繁星:kgopen1338497126 QQ:38726802) (酷狗:1766335623  繁星:kgopen1766335623 QQ:21 ...

  7. 酷狗kgma 酷我kwm转换mp3软件 qmcogg kgm mflac qmc格式转换mp3音乐

    新版全能音乐转换器正式上线 支持:kgma kwm  qmc3 qmcogg kgm mflac 一键转换MP3格式 支持MAC系统和windows系统使用 测试版公开发布 Windows版:http ...

  8. 怎么把酷狗音乐转换成MP3格式

    听音乐用酷狗,很多人喜欢使用酷狗听歌,也喜欢在酷狗音乐下载歌曲,所以就会碰到一些关于音频格式的问题,大家也都应该了解有很多播放器下载的歌曲有些有专门的格式,问题是这些格式有我们生活中可能会不需要,那么 ...

  9. Retrofit框架简单学习使用(举例:酷狗搜索和歌曲详情接口)

    2019.09.24 说明:获取歌曲详情接口已失效,大家可根据自己实际url来测试. 首先先看效果图: 然后上Retrofit的注解表:(图片转自简书:https://www.jianshu.com/ ...

  10. php获取酷狗mv播放链接,酷狗歌单获取歌曲信息的接口源码

    <?php /** *@authorYoungxj *@time2018年6月22日 *@todo利用酷狗歌单进行获取酷狗歌曲信息 */ // 访问短网址出现的地址 // http://m.ku ...

最新文章

  1. 推荐 15 款常用开发工具
  2. C语言中的标识符作用域
  3. Node — 第三天
  4. mysql5.7.11解压版安装_Mysql5.7.11在windows10上的安装与配置(解压版)
  5. tableView的用法具体解释
  6. Thinpad X1 2017款制作Win10启动盘
  7. java打印菱形的简单方法
  8. 计算机怎么格式化硬盘,如何格式化硬盘
  9. mac lnmp 安装mysql_Mac安装LNMP环境
  10. 捷径系统智慧健身房管理系统方案
  11. rabbit的安装配置过程
  12. 项目管理杂谈-需求无止境
  13. 网络对抗技术 实验一
  14. JavaScript---网络编程(9-2)--DHTML技术演示(2-2)-表格加强
  15. 《SolidWorks 2014中文版机械设计从入门到精通》——1.9 范例
  16. 【C语言】杨辉三角(等腰三角)
  17. JS逆向之去哪儿旅行 - - - 动态混淆
  18. sql语句查询出重复的数据
  19. 操作系统leb2实验报告
  20. ROS Error: [rospack] Error: package ‘map_server‘ not found

热门文章

  1. matlab 有约束最小化,求解带等式约束和最小化目标的LMI
  2. centos下安装teamview
  3. SRIO学习笔记之SRIO简介与Xilinx SRIO ip核例程详解
  4. cad快捷栏怎么调出来_cad工具栏怎么调出来
  5. java毕业生设计药品管理系统演示录像2021计算机源码+系统+mysql+调试部署+lw
  6. Python导入Excel名单实现随机抽取
  7. SECS Message解析说明
  8. 【无人机】一文读懂无人机飞行原理
  9. 基于Opencv的几种立体匹配算法+ELAS
  10. 2021年全国水体分布(按省、市、县)矢量数据的制作与分享