1. 安装依赖

  • 安装任意版本python
  • 新建文件夹,自定义名字即可
  • 进入文件夹,新建py文件,输入以下代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import sys

    #使用方法:将此脚本放进一个文件夹,在此文件夹地址栏输入cmd运行此脚本加上需要转换的uc文件路径

    fname =sys.argv[1]
    print(fname)

    with open(fname, "rb") as f:
    c = f.read()

    arr = bytearray(c)
    for i in range(len(arr)):
    arr[i] ^= 163

    with open(fname+".mp3", "wb") as f:
    f.write(bytes(arr))

    print('ok')
  • 保存

    2. 运行

  • 打开文件夹,在目录栏输入cmd运行,输入以下代码
    1
    2
    你的py文件名.py+空格+你的uc文件路径
    举例:网易云缓存UC转mp3.py "C:\Users\用户名\AppData\Local\Netease\CloudMusic\Cache\Cache\2129927846-320-d769e17c9df56f23b4826d1f79f682ec.uc"
  • 或者更简便的方法就是直接将需要转换的文件拖入py文件即可。

    3. 原理

  • 网易云缓存文件是.uc格式,而.uc文件是经过加密的,所以需要解密才能转换。
  • 有大佬通过逆向发现解密方法就是将文件内容中的每个字节异或163(163代表网易),然后保存为.mp3文件。
  • 此脚本就是通过python实现这个解密过程。

    4. 注意

  • 此脚本只适用于网易云缓存文件,其他文件请自行修改脚本。
  • 此脚本只适用于python3.x版本,其他版本请自行修改脚本。
  • 此脚本只适用于Windows系统,其他系统请自行修改脚本。
  • 此脚本只适用于64位系统,其他系统请自行修改脚本。