深入解析.deb文件:从解压到重新打包的完整指南
1. 项目概述从“安装包”到“可拆解的积木”在Linux的世界里尤其是基于Debian的发行版如Ubuntu、Debian、Linux Mint.deb文件是我们获取和安装软件最直接的“包裹”。大多数时候我们只需要双击它或者用一句简单的sudo dpkg -i package.deb命令就能轻松完成安装。但你是否想过这个看似神秘的包裹里到底装了些什么为什么有时候安装会失败报出依赖错误又或者当你需要修改一个软件的配置文件、替换一个图标甚至只是单纯地想看看某个闭源软件的“内部构造”时该怎么办这就是我们今天要深入探讨的.deb文件的解压与压缩。这不仅仅是两个简单的命令操作它更像是一把打开Linux软件打包黑盒的钥匙。通过解压你可以像拆开一个乐高积木套装一样清晰地看到它的“说明书”控制脚本、“零件清单”文件列表以及“积木块”实际的可执行文件和资源。而通过压缩重新打包你则能基于这些零件定制出属于你自己的专属版本——修复一个bug、汉化界面、或者为特定环境打上补丁。掌握这项技能意味着你从软件的“使用者”进阶为“探索者”甚至“改造者”。无论是系统管理员需要深度排查软件冲突开发者需要学习标准的打包规范还是高级用户想要进行个性化定制理解.deb的内部结构并熟练操作其解压与压缩都是一项极其实用且能带来巨大成就感的核心技能。接下来我将以一个从业十余年的系统工程师的视角带你从原理到实操彻底玩转.deb文件。2. .deb文件结构深度解析不只是“压缩包”在动手解压之前我们必须先搞清楚.deb到底是什么。很多人误以为它就是一个简单的tar或zip压缩包实际上它的结构要精巧和规范得多。2.1 本质一个ar归档文件.deb文件在格式上首先是一个古老的Unixar归档文件。你可以把它理解为一个容器这个容器里按照固定的顺序存放了三个必不可少的成员debian-binary这是一个纯文本文件内容永远是2.0\n即字符串“2.0”加一个换行符。它声明了这个.deb文件所使用的格式版本。这个简单的文件是整个包的“格式身份证”。control.tar.[xz|zst|gz]这是包的“大脑”或“元数据包”。它包含了指导软件包管理器如dpkg、apt如何安装、配置、卸载这个软件的所有信息。它本身又是一个压缩的tar包。data.tar.[xz|zst|gz]这是包的“身体”即软件实际要安装到系统中的所有文件可执行程序、库文件、文档、图标等。它同样是一个压缩的tar包。注意control.tar和data.tar的压缩后缀在过去通常是.gz现在为了更高的压缩率更常见的是.xz或.zst。你可以用file命令查看一个.deb文件的具体压缩类型例如file some-package.deb。2.2 control.tar.* 内部探秘软件包的“身份证”与“说明书”解压control.tar.*后你会看到一系列关键文件它们是dpkg和apt工作的依据control核心元数据文件。包含Package: 软件包名称。Version: 版本号。Architecture: 架构如amd64, i386, all。Depends: 运行此软件所必须依赖的其他包。这是解决依赖问题的关键。Recommends: 推荐安装的包能增强功能但不是必须。Suggests: 建议安装的包。Conflicts: 与此包冲突的包。Provides: 此包提供的虚拟功能其他包可以依赖这个虚拟名。Maintainer: 维护者信息。Description: 软件描述。md5sums(或sha256sums等)列出了data.tar.*中所有文件的哈希值用于在安装时校验文件完整性防止文件损坏或被篡改。preinst,postinst,prerm,postrm维护者脚本。这些是可执行的shell脚本分别在安装前、安装后、卸载前、卸载后被dpkg自动调用。它们负责创建用户、更新配置文件、启动服务等复杂操作。这是打包中最容易出错的部分也是解包定制时需要格外小心的地方。conffiles列出哪些文件属于配置文件。对于配置文件dpkg在升级时会尝试保留用户的修改而不是直接覆盖。2.3 data.tar.* 内部探秘软件的“实体”解压data.tar.*后你会看到一个模拟Linux根目录/的结构。例如./usr/bin/存放可执行文件./usr/lib/存放库文件./usr/share/存放文档、图标、本地化文件等./etc/存放默认配置文件这里的文件结构就是软件安装后在你系统中的实际布局。实操心得当你从网络下载一个.deb文件尤其是来自非官方源时第一件该做的事不是直接安装而是先解压检查control文件看看它的依赖是否合理维护者是否可信再浏览data部分看它到底要向你的系统哪些路径写入文件。这是一种基本的安全意识和系统管理素养。3. 解压.deb文件层层剥开洋葱了解了结构解压就变得有章可循。我们将使用命令行工具这是最通用和强大的方式。3.1 使用ar命令解包既然.deb是ar归档第一步就是用ar命令将其拆开。# 创建一个临时工作目录避免弄乱当前目录 mkdir -p /tmp/deb-extract cd /tmp/deb-extract # 假设你的deb文件是 /path/to/package.deb将其复制到当前目录 cp /path/to/package.deb . # 使用 ar 命令解包 ar x package.deb执行ls -l你应该能看到三个文件debian-binary,control.tar.xz,data.tar.xz后缀可能不同。注意ar x是解包ar t可以列出包内成员。务必在空目录或新建目录下操作因为ar x会直接解压到当前目录可能覆盖同名文件。3.2 解压 control 和 data 包接下来我们需要解压两个tar包。根据它们的压缩格式使用对应的解压工具。# 解压 control 包 tar -xf control.tar.xz # 如果是 .xz 压缩 # 或 tar -xf control.tar.gz # 如果是 .gz 压缩 # 或 tar -xf control.tar.zst # 如果是 .zst 压缩需要先安装 zstd 工具 # 解压 data 包 tar -xf data.tar.xz现在当前目录下应该有了control,md5sums等文件以及一个模拟系统根目录的完整文件树来自data.tar.xz。一个高效的组合命令如果你只是想快速查看内容而不需要保留中间文件可以用管道一气呵成# 查看 control 文件内容 ar p package.deb control.tar.xz | tar -xJOf - ./control 2/dev/null # 或者直接解压 data 包到指定目录 dpkg -x package.deb /tmp/extracted-data/这里提到了dpkg -x它是dpkg自带的一个非常方便的工具用于仅解压data部分到指定目录。但它不会解压control部分。对于只想提取软件文件比如恢复某个被误删的二进制文件的场景dpkg -x是最佳选择。3.3 使用专用工具dpkg-deb对于更规范的操作Debian系统提供了dpkg-deb这个专业工具。# 列出包内文件类似 data.tar 的内容列表 dpkg-deb -c package.deb # 查看包的元信息control 文件内容 dpkg-deb -I package.deb # 完整解压整个deb包到指定目录包含control和data dpkg-deb -R package.deb /tmp/full-extract/dpkg-deb -R--raw-extract是我个人最推荐的方法。它会在目标目录如/tmp/full-extract/下创建DEBIAN/子目录存放control等元数据文件其余部分则是data的文件树结构非常清晰为后续的重新打包做好了完美准备。常见问题与排查问题ar: 无法打开 package.deb或ar: 文件格式无法识别。排查首先用file package.deb确认它确实是一个有效的ar归档。有时文件可能下载不完整或损坏。尝试重新下载并用md5sum校验。问题tar: 无法识别的压缩格式。排查用ar t package.deb查看control和data包的确切后缀。对于.zst格式需要安装zstd包sudo apt install zstd。对于.xz确保xz-utils已安装。问题解压后文件权限混乱。排查使用tar解压时-x选项会尝试保留原始权限。如果在某些环境下如解压到FAT/NTFS格式的磁盘权限丢失是文件系统限制。确保在Linux原生文件系统如ext4下操作或使用dpkg-deb -R。4. 修改与定制为什么以及如何动手解压不是目的基于解压的内容进行定制才是高阶玩法。以下是一些典型场景修改默认配置解压data部分找到./etc/下的配置文件按需修改。这对于预设服务参数、调整应用行为非常有用。替换资源文件例如替换软件的图标在./usr/share/icons/、桌面文件./usr/share/applications/或本地化语言文件。打补丁/修复Bug对于某些小众软件或已停止维护的软件你可以直接修改其二进制文件需一定逆向工程能力或脚本文件修复已知问题。解决依赖问题有时一个软件包声明的依赖过于严格或与你的系统不兼容。你可以修改DEBIAN/control文件调整Depends、Conflicts等字段然后重新打包。此举需非常谨慎可能破坏系统稳定性合并/拆分包将多个小deb包合并或将一个大包中部分组件拆分。重要注意事项备份原始包任何修改前务必备份原始的.deb文件。理解维护者脚本在修改data部分文件的同时必须检查DEBIAN/下的preinst、postinst等脚本。你的修改是否会影响这些脚本的执行例如你删除了一个文件但postrm脚本可能会尝试操作它导致卸载错误。可能需要同步修改这些脚本。保持文件权限和属性重新打包时文件的所有者、组和权限必须正确。dpkg-deb在打包时会记录这些信息。5. 重新打包.deb文件从零件到成品修改完成后我们需要将散落的零件重新组装成一个新的.deb包。前提是你有一个符合dpkg-deb要求的目录结构。5.1 准备目录结构假设你的工作目录是/tmp/my-repack其内部结构必须严格如下/tmp/my-repack/ ├── DEBIAN/ │ ├── control │ ├── md5sums │ ├── postinst (可选) │ └── ... (其他维护脚本) └── usr/ ├── bin/ │ └── myapp ├── share/ │ └── ... └── ...DEBIAN/目录下存放所有控制信息文件。其他目录usr,etc,opt等模拟根目录是软件的文件系统布局。5.2 生成 md5sums 文件这是一个关键步骤确保包的文件完整性。进入你的打包根目录/tmp/my-repack运行cd /tmp/my-repack find usr etc opt -type f -exec md5sum {} 2/dev/null | sudo tee DEBIAN/md5sums这条命令会计算所有相对路径下文件的MD5值并写入DEBIAN/md5sums。2/dev/null是为了忽略对DEBIAN目录本身的访问警告。务必使用sudo或确保有权限读取所有文件否则哈希值可能不准确。5.3 使用 dpkg-deb 打包一切就绪后使用dpkg-deb进行打包cd /tmp dpkg-deb -b my-repack my-new-package.deb-b是--build的缩写表示构建。my-repack是包含DEBIAN目录的源目录。my-new-package.deb是输出的包文件名。5.4 校验新包打包完成后强烈建议校验新包# 查看新包的元信息确认版本、依赖等修改已生效 dpkg-deb -I my-new-package.deb # 列出包内文件确认文件都已包含且路径正确 dpkg-deb -c my-new-package.deb # 使用 lintian 进行深度检查需要安装 lintian 包 lintian my-new-package.deblintian是Debian打包的“神器”能检查出成百上千种潜在问题从语法错误到策略违规。即使你只是做简单修改运行一下lintian也能帮你避免很多低级错误。重新打包的避坑技巧权限问题构建目录my-repack及其内部文件最好由root用户创建或操作或者确保所有文件的所有者和组是合理的通常是root:root。dpkg-deb在打包时会记录文件的UID/GID如果以普通用户身份打包系统文件安装时可能导致权限错误。目录遍历find命令生成md5sums时路径必须是相对于打包根目录的。确保你在正确的目录下执行命令。控制文件语法control文件对格式非常敏感字段名大小写敏感每个字段后必须空一行。修改后最好用cat -A DEBIAN/control检查是否有不可见的制表符或行尾符问题。脚本执行权限DEBIAN/下的维护脚本preinst,postinst等必须具有可执行权限chmod x。6. 进阶从零开始构建一个简单的.deb包为了让你彻底理解整个过程我们动手创建一个最简单的deb包它只安装一个打印“Hello, Deb!”的脚本。6.1 创建项目结构mkdir -p ~/hello-deb/DEBIAN mkdir -p ~/hello-deb/usr/local/bin6.2 编写软件内容创建我们的“软件”——一个Shell脚本cat ~/hello-deb/usr/local/bin/hello-deb EOF #!/bin/bash echo Hello from my custom Deb package! EOF chmod x ~/hello-deb/usr/local/bin/hello-deb6.3 编写控制文件这是包的核心定义cat ~/hello-deb/DEBIAN/control EOF Package: hello-deb-custom Version: 1.0-1 Architecture: all Maintainer: Your Name youexample.com Installed-Size: 10 Depends: bash Section: misc Priority: optional Description: A simple hello world deb package for demonstration. This package does nothing but print a friendly message. It is created for educational purpose. EOF6.4 生成md5sums并打包cd ~/hello-deb find usr -type f -exec md5sum {} | sudo tee DEBIAN/md5sums cd .. dpkg-deb -b hello-deb hello-deb-custom_1.0-1_all.deb6.5 安装与测试# 安装我们自制的包 sudo dpkg -i hello-deb-custom_1.0-1_all.deb # 运行命令 hello-deb # 查看包信息 dpkg -l | grep hello-deb-custom dpkg -L hello-deb-custom # 卸载 sudo dpkg -r hello-deb-custom通过这个极简示例你完整走过了从规划目录、编写内容、定义元数据、生成校验和到最终打包的整个生命周期。这比单纯解压修改一个现有包更能加深对Debian包格式的理解。7. 常见问题与排查技巧实录在实际操作中你肯定会遇到各种问题。这里记录了一些典型场景和我的解决思路。问题1安装自制的deb包时报错“dpkg: 依赖关系问题使得 hello-deb-custom 的配置工作不能继续”现象sudo dpkg -i后提示依赖未满足。排查首先用dpkg-deb -I your-package.deb检查Depends字段。你是否写了不存在的包名或者版本要求过于严格如bash ( 5.1)而你的系统是5.0解决修改DEBIAN/control文件放宽依赖如改为bash ( 5.0)或安装缺失的依赖后再试。对于自制包依赖可以尽量宽松或省略非核心依赖。问题2重新打包后安装文件权限不对某些文件变成了nobody:nogroup现象安装后/usr/local/bin/hello-deb脚本无法执行ls -l显示属主是奇怪的用户。排查这几乎肯定是因为你以普通用户身份执行了dpkg-deb -b而源目录中的文件属于普通用户。dpkg-deb会忠实地记录文件的UID/GID。解决有两种方法1) 使用fakeroot工具来模拟root环境进行打包fakeroot dpkg-deb -b hello-deb hello.deb。2) 直接使用sudo来运行打包命令并确保源目录下的文件权限正确通常应该是root:root。问题3修改了软件的文件但重新安装包后修改被覆盖了现象你解压修改了/etc/xxx.conf重新打包安装发现你的修改没了。排查检查这个文件是否被列在了DEBIAN/conffiles中。如果是那么它被标记为配置文件。dpkg在升级或重新安装时如果发现磁盘上的配置文件你修改过的与包中的新版本不同会提示你是保留现有版本还是使用新版本。如果你在重新安装时选择了使用新版本或默认如此你的修改就会被覆盖。解决如果这不是一个真正的配置文件可以从DEBIAN/conffiles中移除该文件路径。如果它确实是配置文件那么你的修改流程应该是安装原包 - 修改系统上的配置文件 - 将修改后的配置文件复制回你的打包目录 - 重新打包。这样你的修改就被固化到新包里了。问题4lintian 检查报出大量警告和错误现象运行lintian my-package.deb后输出一大堆信息如“binary-without-manpage”、“no-copyright-file”等。排查lintian是Debian官方打包策略检查器要求非常严格。对于个人定制包很多策略如必须包含man手册、版权文件可以忽略。解决关注以E:开头的错误Errors这些可能导致包无法安装或严重违反政策。对于以W:开头的警告Warnings你可以根据情况决定是否修复。对于自制包可以使用--suppress-tags选项忽略某些标签的检查例如lintian --suppress-tags no-manpage,no-copyright-file my-package.deb。但更好的做法是尽量完善你的包比如添加一个简单的DEBIAN/copyright文件这是一个很好的习惯。掌握.deb文件的解压与压缩本质上是在掌握Linux软件分发的底层逻辑。它让你不再对系统软件管理感到神秘和畏惧。无论是应急修复、深度定制还是学习软件打包规范这项技能都能让你在Linux的世界里更加游刃有余。我个人的习惯是对于任何需要深入使用的第三方.deb包第一件事就是把它解压看看这就像工程师拿到一个新设备先看原理图一样能让你对它的行为有预判遇到问题时也能快速定位。从今天起试着去拆解一个你熟悉的软件包看看它的“内脏”你会发现一个更有趣的Linux。

相关新闻

多智能体协同架构:解耦复杂LLM任务,实现高效精准的课堂话语分析

多智能体协同架构:解耦复杂LLM任务,实现高效精准的课堂话语分析

1. 项目缘起:当大模型遇上课堂话语分析最近在做一个教育科技相关的项目,核心需求是对海量的课堂录音转录文本进行分析,从中提取出教师提问的类型、学生回答的质量、课堂互动的模式等关键信息。最初,我们团队很自然地想到用当前最火…

2026/8/18 6:07:05 阅读更多 →
LLM智能体自我修复:基于ReAct与修复模式分析的容错架构

LLM智能体自我修复:基于ReAct与修复模式分析的容错架构

1. 项目概述:当LLM智能体学会“自我疗愈”最近在折腾LLM驱动的智能体(LLM Agents)时,我遇到了一个几乎所有开发者都会头疼的问题:智能体在执行复杂任务链时,一旦中途出错,整个流程就“卡死”了。…

2026/8/18 6:07:05 阅读更多 →
浏览器F12禁用破解:从原理到实战的完整反反调试指南

浏览器F12禁用破解:从原理到实战的完整反反调试指南

1. 项目概述:当F12被锁定时,我们如何夺回控制权作为一名在Web前端和客户端开发领域摸爬滚打了十多年的老手,我遇到过无数次开发者工具被“封印”的尴尬场景。无论是企业内部为了“安全”考虑而禁用的办公系统,还是某些在线考试平台…

2026/8/18 6:06:05 阅读更多 →

最新新闻

Fastjson 1.x 升级 2.x 实战:属性名映射差异排查与解决方案

Fastjson 1.x 升级 2.x 实战:属性名映射差异排查与解决方案

1. 项目背景与问题初现 最近在负责一个老项目的技术栈升级,其中一个核心任务是把项目中使用的 fastjson 从 1.2.83 版本升级到最新的 2.0.9 版本。这个决定背后有多重考量:一方面是 fastjson 1.x 系列爆出的多个高危反序列化漏洞,比如那个著…

2026/8/18 6:46:15 阅读更多 →
Claude生物武器过滤器失效复盘与API安全护栏Python实操

Claude生物武器过滤器失效复盘与API安全护栏Python实操

近期人工智能安全领域披露了一项具体的工程事件。Anthropic公司在其官方安全报告中说明,其核心产品Claude模型的一项关键安全过滤器曾出现失效情况。该过滤器主要用于拦截生物武器制造等高危内容的生成请求。根据报告披露的具体数据,这一安全机制的失效状…

2026/8/18 6:46:15 阅读更多 →
SDTMIG 3.2实战指南:从临床数据标准到编程实现

SDTMIG 3.2实战指南:从临床数据标准到编程实现

1. 项目概述:为什么SDTMIG是临床数据标准化的基石如果你在临床数据管理、统计编程或者临床运营的圈子里待过一阵子,肯定对CDISC(临床数据交换标准协会)这个名字不陌生。它就像这个行业里的“世界语”,让不同国家、不同…

2026/8/18 6:46:15 阅读更多 →
SDTMIG 3.2核心解析:临床数据标准化的设计哲学与工程实践

SDTMIG 3.2核心解析:临床数据标准化的设计哲学与工程实践

1. 项目概述:为什么SDTMIG是临床数据标准化的基石如果你在临床研究的数据管理、统计编程或监管递交领域工作,那么“SDTMIG”这个词对你来说,绝对不陌生。它就像一本行业内的“数据字典”和“建筑规范”,规定了临床数据从收集到提交…

2026/8/18 6:46:15 阅读更多 →
Python编程浪漫指南:从零打造七夕专属数字礼物

Python编程浪漫指南:从零打造七夕专属数字礼物

1. 项目概述:用代码编织的七夕浪漫又到了一年一度的七夕,空气中都弥漫着甜蜜的气息。对于咱们程序员来说,送花、送巧克力固然经典,但总觉得少了点“自己人”的味道。作为一名写了十多年代码的老兵,我始终觉得&#xff…

2026/8/18 6:46:15 阅读更多 →
基于视觉AI的粒子物理实验装置状态监控系统设计与实践

基于视觉AI的粒子物理实验装置状态监控系统设计与实践

1. 项目缘起:为什么LEGEND-1000需要“眼睛”?在粒子物理与核物理实验的前沿,我们常常需要建造极其精密的探测器,去捕捉那些转瞬即逝的稀有事件。LEGEND-1000就是这样一个雄心勃勃的项目,它旨在以前所未有的精度寻找一种…

2026/8/18 6:44:15 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/17 2:58:27 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 2:58:30 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/17 2:58:32 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →