吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2993|回复: 29
收起左侧

[Python 原创] 【原创源码】【python】网易云音乐缓存.uc转化MP3

  [复制链接]
tp522022 发表于 2023-8-18 09:30
如题,Python实现的将网易云的缓存文件.uc转化为MP3格式,解密.uc格式的方法是将每个字节跟0xA3异或。

[Python] 纯文本查看 复制代码
import os


def get_path_dfs_helper(path_collect_list: list, input_path: str, deep: int):
    if not os.path.exists(input_path):
        print(f'目录不存在:{input_path}')
        return
    if deep > 10:
        return
    if os.path.isfile(input_path):
        path_collect_list.append(input_path)
        return
    files = os.listdir(input_path)
    for file in files:
        f_abs = os.path.join(input_path, file)
        get_path_dfs_helper(path_collect_list, f_abs, deep + 1)
    pass


def convert_uc_to_mp3(input_dir: str, output_dir: str):
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    cache_file_list = []
    get_path_dfs_helper(cache_file_list, input_dir, 0)
    for f in cache_file_list:
        if not f.endswith('.uc'):
            continue
        file_name = os.path.basename(f)
        print(f'文件:{os.path.basename(f)}-->{os.path.getsize(f)}字节')
        with open(f, mode='rb+') as fr:
            data_bytes = fr.read()
            file_name = file_name[:-3] + '.mp3'
            output_file_abs_path = os.path.join(output_dir, file_name)
            if os.path.exists(output_file_abs_path):
                continue
            with open(output_file_abs_path, 'wb+') as fw:
                convert_list = list()
                for data in data_bytes:
                    result = data ^ 0xA3
                    convert_list.append(result)
                fw.write(bytes(convert_list))
    pass


def test_function():
    input_cache_dir = r'F:\99.OtherSoftwareCache\Netease\CloudmusicCache\Cache'
    output_dir = r'F:\99.OtherSoftwareCache\ConvertToMp3'
    convert_uc_to_mp3(input_cache_dir, output_dir)
    pass


if __name__ == '__main__':
    test_function()
    pass

免费评分

参与人数 7吾爱币 +10 热心值 +6 收起 理由
helian147 + 1 + 1 热心回复!
16316 + 1 谢谢@Thanks!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wanfon + 1 + 1 热心回复!
38342175 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lpy628 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
shengruqing + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小雨网络 发表于 2023-9-16 12:11
算不算改进了一下
[Python] 纯文本查看 复制代码
import os
import shutil

def get_file_paths(input_path):
    file_paths = []
    for root, _, files in os.walk(input_path):
        for file in files:
            file_paths.append(os.path.join(root, file))
    return file_paths

def convert_uc_to_mp3(input_path, output_dir):
    if not os.path.exists(input_path):
        print(f'目录不存在: {input_path}')
        return

    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    file_paths = get_file_paths(input_path)

    for file_path in file_paths:
        if not file_path.endswith('.uc'):
            continue

        file_name = os.path.basename(file_path)
        output_file_name = file_name[:-3] + '.mp3'
        output_file_path = os.path.join(output_dir, output_file_name)

        if os.path.exists(output_file_path):
            continue

        try:
            with open(file_path, 'rb') as fr, open(output_file_path, 'wb') as fw:
                while True:
                    data = fr.read(4096)
                    if not data:
                        break
                    converted_data = bytes([byte ^ 0xA3 for byte in data])
                    fw.write(converted_data)
        except Exception as e:
            print(f'处理文件 {file_name} 时出错: {str(e)}')

def main():
    input_cache_dir = r'F:\99.OtherSoftwareCache\Netease\CloudmusicCache\Cache'
    output_dir = r'F:\99.OtherSoftwareCache\ConvertToMp3'
    convert_uc_to_mp3(input_cache_dir, output_dir)

if __name__ == '__main__':
    main()
Lovewa2023 发表于 2023-8-18 09:45
Lrr35266046 发表于 2023-8-18 09:51
三滑稽甲苯 发表于 2023-8-18 09:55
这个加密方式这么原始的吗
雾都孤尔 发表于 2023-8-18 09:58
学习学习,感谢分享。
petersym 发表于 2023-8-18 09:59
学习了,谢谢!
 楼主| tp522022 发表于 2023-8-18 10:07
三滑稽甲苯 发表于 2023-8-18 09:55
这个加密方式这么原始的吗

就是这么原始,当初看别的帖子的时候我也惊呆了 自己试了下确实如此,论坛里还有网易云下载的ncm格式的解密 那个复杂多了
anawwy 发表于 2023-8-18 10:08
这种方式应该不是原声的吧
w20010w 发表于 2023-8-18 10:11
这个厉害了,省钱
HuaiRen8888 发表于 2023-8-18 10:18
感谢大佬分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表