当前位置: 首页 > article >正文

麒麟桌面CVE-2024-1086漏洞深度修复指南

1. 这个漏洞不是“修个补丁就完事”麒麟桌面系统CVE-2024-1086的真实威胁图谱你可能刚在安全通告里看到“麒麟桌面系统修复CVE-2024-1086”顺手点了个更新心里想着“又一个内核提权漏洞打上补丁不就完了”——我去年在某省政务云运维现场也这么想。结果三天后一台未及时重启的终端被横向渗透进内网攻击者利用的就是这个漏洞的未重启残留态利用链。CVE-2024-1086不是普通漏洞它是Linux内核eBPF子系统中一个极其隐蔽的类型混淆引用计数绕过组合缺陷影响范围覆盖所有基于Linux 5.10–6.6内核的国产桌面系统而麒麟V10 SP1/SP2UOS 20/23兼容版恰恰大量采用5.15和6.1内核分支。它的危险性在于普通用户权限下即可触发无需任何交互且成功利用后直接获得root shell绕过所有用户空间沙箱防护。更关键的是麒麟桌面默认启用eBPF JIT编译器为提升网络策略性能这恰好是该漏洞的“引爆开关”。很多单位只执行了apt update apt upgrade却忽略了补丁包中那个必须手动执行的dkms autoinstall命令导致内核模块未重建——这就是我亲眼见过的三起真实事件的共同起点。本文不讲教科书式原理只聚焦麒麟桌面环境下的可验证、可审计、可闭环的修复路径从如何确认你的系统是否真被修复到为什么reboot不是万能解药再到如何用一行命令验证eBPF JIT是否已禁用。如果你负责政务、金融或国企办公终端的安全基线管理这篇就是你明天晨会要带去的检查清单。2. 漏洞根因eBPF验证器的“信任盲区”与麒麟内核的特殊编译配置2.1 CVE-2024-1086的本质一个被忽略的指针类型转换陷阱要真正理解修复逻辑必须看清漏洞的底层机制。CVE-2024-1086源于Linux内核eBPF验证器verifier在处理BPF_LD_IMM64指令时的一个逻辑断层。当eBPF程序加载时验证器会为每个寄存器维护一个struct bpf_reg_state结构体其中type字段标识该寄存器当前存储的数据类型如PTR_TO_MAP_VALUE、SCALAR_VALUE等。问题出在check_cond_jmp_op()函数中当执行条件跳转如jeq比较两个寄存器时验证器会调用reg_type_strict_clear()尝试清除目标寄存器的类型标记。但此处存在一个竞态窗口——若源寄存器类型为PTR_TO_BTF_ID指向BTF类型信息的指针而目标寄存器类型为SCALAR_VALUE纯数值验证器错误地认为二者可安全转换从而将源寄存器的btf_id字段直接赋值给目标寄存器的imm字段。这导致后续JIT编译时编译器将imm误当作立即数参与运算实际却读取了BTF结构体的内存地址。攻击者精心构造eBPF字节码使该地址指向内核堆块的kmem_cache元数据进而通过bpf_map_update_elem()实现任意地址写入。整个过程不依赖用户空间漏洞利用纯内核态完成。提示麒麟V10 SP1使用的Linux 5.15.0-kernel-kylin内核在/usr/src/linux-headers-5.15.0-kernel-kylin/include/uapi/linux/bpf.h中BPF_LD_IMM64指令定义与上游存在细微差异其imm字段长度被扩展为128位以支持国产CPU指令集这反而放大了类型混淆的破坏半径。2.2 麒麟桌面的“致命加成”JIT编译器默认开启与BTF调试信息残留普通Linux发行版默认禁用eBPF JIT需echo 1 /proc/sys/net/core/bpf_jit_enable但麒麟桌面为优化防火墙策略ufwebpf和网络流量监控kylin-netmon性能在/etc/default/grub中预置了bpf_jit1启动参数。这意味着只要内核版本在受影响范围内漏洞即处于“待触发”状态。更隐蔽的是麒麟内核构建时启用了CONFIG_DEBUG_INFO_BTFy导致所有内核模块包括bpfilter、nf_tables均嵌入完整BTF调试信息。攻击者可通过bpf_obj_get_info_by_fd()系统调用直接读取内核符号表精准定位init_task、commit_creds等关键函数地址。我们实测发现在麒麟V10 SP2内核6.1.0-kylin-desktop上一个仅128字节的eBPF程序即可在3秒内完成提权全程无日志告警。2.3 为什么“打补丁”不等于“已修复”DKMS模块重建的生死线麒麟桌面使用DKMSDynamic Kernel Module Support管理第三方内核模块。CVE-2024-1086的官方修复补丁Linux内核commita1f7c9d2不仅修改了kernel/bpf/verifier.c还重构了arch/x86/net/bpf_jit_comp.c中的JIT编译逻辑。但关键点在于补丁仅更新源码不自动重建已安装的DKMS模块。麒麟桌面依赖的kylin-firewall-bpf、kylin-audit-bpf等模块仍运行在旧版JIT引擎上。我们抓包分析发现即使内核已升级至5.15.0-105.12若未执行dkms autoinstall -k 5.15.0-105.12-kylin-desktop/lib/modules/5.15.0-105.12-kylin-desktop/extra/目录下的kylin_firewall_bpf.ko文件时间戳仍停留在补丁前。此时modinfo kylin_firewall_bpf | grep vermagic显示的内核ABI版本与当前运行内核不匹配形成“补丁已装、漏洞犹存”的假象。3. 修复操作全链路从检测、加固到验证的七步闭环3.1 第一步精准识别你的麒麟系统是否在“高危名单”内不要轻信“已升级”的口头承诺必须逐台终端验证。执行以下命令获取唯一指纹# 获取内核版本与构建ID麒麟特有 uname -r cat /proc/version_signature 2/dev/null || echo 非麒麟标准内核 # 检查eBPF JIT状态直接影响漏洞利用难度 cat /proc/sys/net/core/bpf_jit_enable 2/dev/null || echo JIT状态不可读 # 列出所有已加载的eBPF相关模块麒麟定制模块是重点 lsmod | grep -E (bpf|kylin|ufw|netmon) | awk {print $1} | xargs -I{} modinfo {} 2/dev/null | grep -E (version|vermagic|signat)关键判断依据若uname -r返回5.15.0-*.kylin-desktop或6.1.0-*.kylin-desktop且/proc/sys/net/core/bpf_jit_enable输出1则立即进入高危响应流程若modinfo kylin_firewall_bpf显示vermagic为5.15.0-104.11-kylin-desktop SMP mod_unload但当前uname -r为5.15.0-105.12-kylin-desktop说明DKMS未重建漏洞依然有效。注意麒麟V10 SP1早期版本内核5.10.0-kylin虽不在CVE官方影响列表但实测发现其eBPF验证器存在类似逻辑缺陷commit7d2a1e8f建议统一升级至SP1 Update 5以上。3.2 第二步执行“外科手术式”修复命令非简单apt upgrade麒麟官方发布的linux-image-5.15.0-105.12-kylin-desktop包包含三个关键组件linux-image-5.15.0-105.12-kylin-desktop.deb内核镜像与配置linux-headers-5.15.0-105.12-kylin-desktop.deb头文件DKMS必需kylin-bpf-fixes-202403.deb麒麟定制修复包含kylin-firewall-bpf-dkms标准操作流程必须按顺序执行# 1. 先卸载旧版DKMS模块避免冲突 sudo dkms remove kylin-firewall-bpf/1.2.0 --all 2/dev/null || true sudo dkms remove kylin-audit-bpf/1.1.0 --all 2/dev/null || true # 2. 安装新内核与头文件注意必须先装headers sudo dpkg -i linux-headers-5.15.0-105.12-kylin-desktop_5.15.0-105.12-kylin-desktop-1_amd64.deb sudo dpkg -i linux-image-5.15.0-105.12-kylin-desktop_5.15.0-105.12-kylin-desktop-1_amd64.deb # 3. 强制重建DKMS模块核心步骤 sudo dkms install kylin-firewall-bpf/1.2.1 -k 5.15.0-105.12-kylin-desktop sudo dkms install kylin-audit-bpf/1.1.1 -k 5.15.0-105.12-kylin-desktop # 4. 验证模块签名麒麟要求强制签名 sudo modprobe -v kylin_firewall_bpf 21 | grep signature # 正常应输出loading out-of-tree module taints kernel, signature: valid实操心得曾有客户在dpkg -i后直接reboot导致DKMS重建失败内核启动时模块未加载。正确做法是执行完dkms install并确认ls /lib/modules/5.15.0-105.12-kylin-desktop/extra/ | grep bpf返回新模块文件后再重启。3.3 第三步永久禁用eBPF JIT——最彻底的防御手段即使打上补丁JIT编译器仍是潜在攻击面。麒麟桌面允许在不牺牲功能的前提下禁用JIT其kylin-firewall-bpf模块支持纯解释器模式运行。执行以下命令# 创建JIT禁用配置文件 echo options bpfilter disable_jit1 | sudo tee /etc/modprobe.d/bpfilter.conf echo options kylin_firewall_bpf jit_mode0 | sudo tee -a /etc/modprobe.d/kylin-firewall.conf # 卸载并重载模块无需重启 sudo modprobe -r bpfilter kylin_firewall_bpf sudo modprobe bpfilter kylin_firewall_bpf # 验证JIT状态应返回0 cat /proc/sys/net/core/bpf_jit_enable性能影响实测在千兆网卡10万条防火墙规则场景下CPU占用率从JIT模式的12%降至8%延迟增加0.3ms对办公终端完全无感。这是麒麟安全团队在2024年3月技术白皮书中明确推荐的“纵深防御”方案。3.4 第四步内核启动参数加固——堵死最后的逃逸通道攻击者可能利用其他内核漏洞配合CVE-2024-1086实现持久化。需在GRUB中添加强化参数# 编辑GRUB配置 sudo nano /etc/default/grub # 在GRUB_CMDLINE_LINUX_DEFAULT行末尾添加 # spectre_v2on spec_store_bypass_disableon ption kption bpf_jit_harden2 # 更新GRUB并重启 sudo update-grub sudo reboot参数详解bpf_jit_harden2强制JIT编译器对所有eBPF程序插入随机化校验麒麟内核已适配ption启用页表隔离防止Meltdown类攻击spectre_v2on关闭间接分支预测阻断Spectre变种利用链。警告bpf_jit_harden2会导致JIT编译速度下降40%但麒麟桌面默认禁用此选项。我们建议在政务终端强制启用因其对日常办公性能影响微乎其微实测Firefox启动时间增加0.2秒。4. 验证与审计用三类证据链证明“漏洞已真正封堵”4.1 证据链一内核模块级验证——看代码是否真的被修补补丁的核心修改在kernel/bpf/verifier.c的check_cond_jmp_op()函数。我们提供麒麟专用验证脚本#!/bin/bash # save as verify_cve_2024_1086.sh KERNEL_SRC/usr/src/linux-headers-$(uname -r) if [ ! -d $KERNEL_SRC ]; then echo 内核头文件未安装请先执行 sudo apt install linux-headers-$(uname -r) exit 1 fi # 检查关键修复点是否存在 if grep -A 10 reg_type_strict_clear.*src_reg.*dst_reg $KERNEL_SRC/kernel/bpf/verifier.c 2/dev/null | grep -q btf_id; then echo ✅ 发现BTF ID类型校验逻辑CVE-2024-1086核心修复 else echo ❌ 未检测到BTF ID校验补丁可能未生效 fi # 检查JIT硬化的存在性 if grep -r bpf_jit_harden $KERNEL_SRC/arch/x86/net/ 2/dev/null; then echo ✅ JIT硬化代码已集成 else echo ❌ JIT硬化缺失 fi运行此脚本输出双✅才代表内核源码层修复到位。4.2 证据链二运行时行为验证——用eBPF程序主动探测最权威的验证是让漏洞利用代码在目标系统上运行失败。我们简化了原始PoC生成一个安全的探测程序// cve-2024-1086-test.c #include linux/bpf.h #include bpf/bpf.h #include stdio.h int main() { struct bpf_insn prog[] { BPF_LD_IMM64(BPF_REG_0, 0xdeadbeef), // 触发类型混淆的关键指令 BPF_EXIT_INSN(), }; int fd bpf_prog_load(BPF_PROG_TYPE_SOCKET_FILTER, prog, sizeof(prog)/sizeof(*prog), GPL, 0, NULL, 0); if (fd 0) { printf(✅ 漏洞已修复eBPF验证器拒绝危险指令\n); return 0; } printf(❌ 漏洞存在程序加载成功可被利用\n); close(fd); return 1; }编译运行sudo apt install libbpf-dev clang clang -O2 -target bpf -c cve-2024-1086-test.c -o test.o llc -marchbpf -filetypeobj test.o -o test.o sudo ./test.o只有输出✅才表示验证通过。此方法已在麒麟V10 SP2内核6.1.0上100%复现。4.3 证据链三日志审计追踪——建立可回溯的修复凭证政务系统要求所有安全操作留痕。需配置麒麟日志系统记录eBPF活动# 启用eBPF审计日志麒麟默认关闭 echo -a always,exit -F archb64 -S bpf -k eBPF_activity | sudo tee /etc/audit/rules.d/ebpf.rules sudo augenrules --load # 查看实时日志修复后应无异常bpf调用 sudo ausearch -m bpf -ts recent | grep -E (LOAD|UPDATE) | head -10正常修复后ausearch应仅显示kylin-firewall-bpf模块的合法加载记录无SCALAR_VALUE类型转换相关的警告。我们将此日志导出为PDF作为等保测评的交付物之一。5. 生产环境避坑指南那些官方文档不会写的血泪教训5.1 坑一“一键升级”工具的隐藏陷阱——麒麟管家的静默失败麒麟桌面自带“麒麟管家”GUI升级工具其后台调用kylin-updater服务。但我们发现当系统存在/var/lib/dkms/kylin-firewall-bpf/1.2.0/5.15.0-104.11-kylin-desktop/x86_64/module/目录时kylin-updater会跳过DKMS重建步骤仅更新内核镜像。原因在于其/usr/bin/kylin-updater脚本中存在硬编码判断# /usr/bin/kylin-updater 片段第327行 if [ -d /var/lib/dkms/kylin-firewall-bpf/$OLD_VERSION/$KERNEL_VERSION ]; then echo 跳过DKMS重建检测到旧模块目录 # ❌ 此处应强制重建但实际跳过 fi解决方案生产环境必须禁用GUI升级改用命令行sudo apt update sudo apt install --reinstall linux-image-5.15.0-105.12-kylin-desktop并手动执行DKMS重建。5.2 坑二容器化办公环境的“双重内核”困境越来越多单位使用Docker运行麒麟桌面应用如WPS容器版。此时存在两个内核态宿主机内核麒麟V10 SP2已修复容器内核通过--privileged挂载的/lib/modules可能仍是旧版我们曾遇到案例宿主机uname -r显示已升级但容器内modinfo kylin-firewall-bpf仍为旧版。根本原因是Docker启动时挂载了旧版/lib/modules。修复命令# 删除旧容器镜像中的modules挂载 docker run -it --rm -v /lib/modules:/lib/modules:ro ubuntu:22.04 \ sh -c ls /lib/modules/$(uname -r) | grep bpf || echo 容器modules未同步 # 正确做法构建新镜像时COPY新内核模块 FROM kylin-desktop:10-sp2 COPY /lib/modules/5.15.0-105.12-kylin-desktop/ /lib/modules/5.15.0-105.12-kylin-desktop/ RUN depmod -a 5.15.0-105.12-kylin-desktop5.3 坑三离线环境的补丁签名验证失效政务外网终端常处于离线状态无法连接麒麟官方仓库。此时手动安装.deb包会因GPG签名失败而中断# 错误示例离线安装报错 sudo dpkg -i linux-image-5.15.0-105.12-kylin-desktop.deb # dpkg: error: cannot access archive ...: No such file or directory # 实际是签名验证失败但错误提示误导离线修复终极方案在联网机器下载linux-image-5.15.0-105.12-kylin-desktop.deb及对应linux-image-5.15.0-105.12-kylin-desktop.deb.asc签名文件导入麒麟GPG公钥gpg --dearmor kylin-release-key.gpg | sudo tee /usr/share/keyrings/kylin-release-keyring.gpg离线终端执行sudo dpkg --ignore-dependslinux-modules-5.15.0-105.12-kylin-desktop -i linux-image-5.15.0-105.12-kylin-desktop.deb。最后分享一个小技巧在批量部署时用ansible编写playbook将dkms install命令封装为幂等任务并加入changed_when: installed in result.stdout判断可100%避免重复执行导致的模块冲突。我在某省12万台终端的升级项目中靠这个技巧将故障率从3.7%压降至0.02%。

相关文章:

麒麟桌面CVE-2024-1086漏洞深度修复指南

1. 这个漏洞不是“修个补丁就完事”:麒麟桌面系统CVE-2024-1086的真实威胁图谱你可能刚在安全通告里看到“麒麟桌面系统修复CVE-2024-1086”,顺手点了个更新,心里想着“又一个内核提权漏洞,打上补丁不就完了?”——我去…...

问卷数据分析避坑指南:你的验证性因子分析(CFA)模型为什么总拟合不好?

问卷数据分析避坑指南:验证性因子分析(CFA)模型拟合不良的深度诊断 当你满怀期待地将精心设计的问卷数据导入统计软件,准备验证理论模型时,却发现拟合指标一片飘红——卡方值高得离谱,RMSEA超出临界值&…...

SafeExamBrowser虚拟机检测绕过实战:双路径技术决策与深度破解

SafeExamBrowser虚拟机检测绕过实战:双路径技术决策与深度破解 【免费下载链接】safe-exam-browser-bypass A VM and display detection bypass for SEB. 项目地址: https://gitcode.com/gh_mirrors/sa/safe-exam-browser-bypass SafeExamBrowser&#xff08…...

Unity Spine换装系统:骨骼映射与Skin动态管理实战

1. 为什么Spine换装不能只靠“替换贴图”——一个被低估的骨骼绑定难题 在Unity里做Spine换装,很多人第一反应是:把新衣服的Atlas和SkeletonData拖进去,用 SkeletonRenderer 的 skeletonDataAsset 字段一换,完事。我去年接手一…...

ESP32屏幕项目救星:用TFT_eSPI库的Touch_calibrate例程,5分钟搞定LittleVGL触摸校准

ESP32屏幕开发实战:5分钟完成LittleVGL触摸校准的高效方法论 当一块全新的ILI9341XPT2046电阻屏摆在你面前时,大多数开发者会迫不及待地跳进LittleVGL的配置深渊。但真正高效的硬件开发者知道,在编写任何图形界面代码之前,有一个关…...

MFCC与可解释机器学习:构建可解释的L2发音AI诊断系统

1. 项目概述:当语音技术遇见二语教学 作为一名在语音技术和教育技术交叉领域摸爬滚打了十多年的从业者,我常常思考一个问题:我们能用算法“听”出一个人说外语时,他的母语口音吗?更进一步,我们能否不仅“听…...

从零到远程:手把手教你用Electerm搞定Ubuntu Server的SSH连接与防火墙配置

从零到远程:手把手教你用Electerm搞定Ubuntu Server的SSH连接与防火墙配置当你第一次面对Ubuntu Server时,最迫切的需求可能就是如何安全地远程管理它。作为运维新手或开发者,掌握SSH连接和防火墙配置是进入Linux世界的第一道门槛。本文将带你…...

Unity Cinemachine相机系统深度使用:除了自动跟随,它的边界限制(Confiner)功能才是宝藏

Unity Cinemachine Confiner:解锁专业级镜头边界控制的实战指南在游戏开发中,镜头控制往往是被低估的艺术。许多开发者对Cinemachine的印象停留在"智能跟随相机"层面,却不知道它的Confiner功能能够彻底改变游戏镜头的专业度。想象一…...

基于特征工程的电力系统虚假数据注入攻击检测方案

1. 项目概述与核心挑战在电力系统这个庞大而精密的“交响乐团”中,自动发电控制(AGC)系统扮演着指挥家的角色。它的核心任务是根据电网频率和联络线功率的微小波动,实时调整各发电机的出力,确保整个电网的频率稳定在50…...

基于概率随机森林的天文测光数据尘埃恒星自动分类实践

1. 项目概述:当机器学习遇见尘埃恒星处理海量天文数据,尤其是从像斯皮策空间望远镜(Spitzer)的SAGE巡天这类项目中获取的多波段测光数据,一直是个既让人兴奋又头疼的活儿。传统的光谱分类方法虽然精准,但面…...

抖音批量下载神器:5分钟学会免费无水印视频下载

抖音批量下载神器:5分钟学会免费无水印视频下载 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...

终极解决方案:彻底解决UE4SS DLL劫持导致的系统级应用程序启动错误

终极解决方案:彻底解决UE4SS DLL劫持导致的系统级应用程序启动错误 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/r…...

保姆级教程:Multisim 14.0 从下载到汉化,手把手教你避开安装过程中的那些坑

Multisim 14.0 终极安装指南:从零开始到完美汉化的全流程解析 对于电子工程和自动化领域的学习者与从业者而言,Multisim 14.0 无疑是一款不可或缺的电路设计与仿真工具。然而,许多用户在初次安装过程中常常遇到各种棘手问题,导致软…...

UE5 GPU崩溃终极解决方案:Windows TDR注册表调优指南

1. 这不是玄学,是显卡驱动与UE引擎的底层握手失败 你刚点下Play,编辑器还没完全加载完场景,屏幕突然黑一下,然后弹出“GPU has stopped responding and has recovered”——或者更糟,直接蓝屏、黑屏死机、编辑器无响应…...

如何高效实现前端文件下载:FileSaver.js完整实用指南

如何高效实现前端文件下载:FileSaver.js完整实用指南 【免费下载链接】FileSaver.js An HTML5 saveAs() FileSaver implementation 项目地址: https://gitcode.com/gh_mirrors/fi/FileSaver.js FileSaver.js是一款轻量级的HTML5文件保存解决方案,…...

拒绝延迟与黑屏:向日葵控制端 局域网直连 P2P 穿透与无头服务器(Headless)虚拟显示器优化指南

拒绝延迟与黑屏:向日葵控制端 局域网直连 P2P 穿透与无头服务器(Headless)虚拟显示器优化指南 在远程开发、分布式部署及日常运维场景中,我们经常需要远程连接到公司的高配工作站、机房服务器或家中的调试开发机。 作为国内普及…...

拒绝繁琐 PS:美图秀秀 电脑版在技术博客配图、无畸变裁剪与尺寸标准化中的应用

在日常开发、技术写作或维护 GitHub 开源项目时,技术配图和录屏展示是不可或缺的组成部分。 然而,对于大多数程序员和前端开发者来说,仅仅为了裁剪一个 App Icon 尺寸、给一系列产品图加防伪水印、对系统敏感配置截图进行脱敏打码&#xff0…...

突破本地媒体解码屏障:QQ影音 4K/H.265 硬件加速优化与 DLL 运行库环境修复

突破本地媒体解码屏障:QQ影音 4K/H.265 硬件加速优化与 DLL 运行库环境修复 在日常开发和技术写作中,我们经常需要处理本地音视频文件,或者截取一段高质量的 GIF 动图作为 GitHub PR、CSDN 博客的演示说明。 虽然目前市面上有 PotPlayer、V…...

程序员的物理级打字肌肉记忆训练指南:从一指禅到无意识盲打的科学路径

程序员的物理级打字肌肉记忆训练指南:从一指禅到无意识盲打的科学路径 在日常写代码或重构时,你是否遇到过这种场景: 脑子里已经构思好了完美的重构逻辑,但在输入 >、{} 或 _ 时,手指本能地一顿,视线不…...

Windows上直接安装APK文件:告别模拟器的轻量级安卓应用安装方案

Windows上直接安装APK文件:告别模拟器的轻量级安卓应用安装方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为笨重的安卓模拟器烦恼吗?…...

Hyper-V离散设备分配图形化解决方案:企业级虚拟化性能优化实践

Hyper-V离散设备分配图形化解决方案:企业级虚拟化性能优化实践 【免费下载链接】DDA 实现Hyper-V离散设备分配功能的图形界面工具。A GUI Tool For Hyper-Vs Discrete Device Assignment(DDA). 项目地址: https://gitcode.com/gh_mirrors/dd/DDA 在数字化转…...

洛雪音乐桌面版:跨平台音乐聚合播放器的终极使用指南

洛雪音乐桌面版:跨平台音乐聚合播放器的终极使用指南 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 洛雪音乐桌面版是一款基于Electron和Vue 3技术栈开发的开源跨平台…...

5步快速上手OpenVSP:免费开源的飞机参数化设计终极指南

5步快速上手OpenVSP:免费开源的飞机参数化设计终极指南 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP OpenVSP是一款由NASA开发的免费开源飞机参数化设计工具,让航空工程…...

Qri入门教程:如何在5分钟内开始使用分布式数据集版本控制

Qri入门教程:如何在5分钟内开始使用分布式数据集版本控制 【免费下载链接】qri youre invited to a data party! 项目地址: https://gitcode.com/gh_mirrors/qr/qri Qri是一款强大的分布式数据集版本控制工具,它比电子表格更强大,比数…...

在ubuntu上为node.js后端服务接入taotoken统一大模型api

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在 Ubuntu 上为 Node.js 后端服务接入 Taotoken 统一大模型 API 为后端服务集成大模型能力已成为提升应用智能水平的关键步骤。对于…...

WaveTools鸣潮工具箱:3步完成游戏性能优化与配置调校的完整指南

WaveTools鸣潮工具箱:3步完成游戏性能优化与配置调校的完整指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools鸣潮工具箱是一款专为《鸣潮》玩家设计的开源性能优化工具&#xff0c…...

SuperCom串口调试工具终极指南:快速解决嵌入式开发中的通信难题

SuperCom串口调试工具终极指南:快速解决嵌入式开发中的通信难题 【免费下载链接】SuperCom SuperCom 是一款串口调试工具 项目地址: https://gitcode.com/gh_mirrors/su/SuperCom 想象一下这样的场景:你正在调试一个嵌入式设备,需要同…...

<数据集>yolo高粱叶片病害识别<目标检测>

数据集下载链接https://download.csdn.net/download/qq_53332949/92902223数据集格式:VOCYOLO格式 图片数量:3242张 标注数量(xml文件个数):3242 标注数量(txt文件个数):3242 标注类别数:1 使用标注工具&#xff…...

音乐解锁工具终极指南:3分钟掌握加密音乐解密技巧

音乐解锁工具终极指南:3分钟掌握加密音乐解密技巧 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://g…...

QKeyMapper终极指南:Windows上最强大的开源按键映射工具

QKeyMapper终极指南:Windows上最强大的开源按键映射工具 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到键鼠&#xff…...