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

透视俄乌网络战之一:数据擦除软件

数据擦除破坏

    • 1. WhisperGate
    • 2. HermeticWiper
    • 3. IsaacWiper
    • 4. WhisperKill
    • 5. CaddyWiper
    • 6. DoubleZero
    • 7. AcidRain
    • 8. RURansom

数据是政府、社会和企业组织运行的关键要素。数据擦除软件可以在不留任何痕迹的情况下擦除数据并阻止操作系统恢复摧,达到摧毁或目标系统和数据的目的,具有致命的破坏性。

俄乌冲突中,各方势力通过数据擦除恶意软件破坏关键信息基础设施计算机的数据,达到深度致瘫的效果,同时窃取重要敏感信息。

俄乌军事冲突中数据擦除软件

名称发现时间发现者攻击对象
WhisperGate1月13日微软公司乌克兰
HermeticWiper2月23日网络安全公司 ESET乌克兰
IsaacWiper2 月 24日网络安全公司 ESET乌克兰
WhisperKill2月 23日乌克兰国家特殊通信和信息保护局乌克兰
CaddyWiper3月14日网络安全公司 ESET乌克兰
DoubleZero3月17日乌克兰计算机应急响应小组乌克兰
AcidRain3月31日美国网络安全公司SentinelLabs乌克兰
RuRansom3月9日美国网络安全公司Trend Micro俄罗斯

1. WhisperGate

(1)WhisperGate简介

WhisperGate是一个冒充勒索软件的威胁性 MBR(主引导记录)擦除器,该恶意软件能够完全破坏受感染的机器,使其无法启动。

(2)WhisperGate分析

第一阶段

WhisperGate 恶意软件以名为“stage1.exe”的文件的形式放置在 C:\PerfLogs、C:\ProgramData、C:\ 和 C:\temp 目录之一中的受感染系统上。

为了转移人们对其真正目的的注意力,WhisperGate 采用了勒索软件威胁中通常观察到的几个特征。它提供了一张赎金票据,声称攻击者希望获得 10,000 美元的比特币。这笔钱应该转移到提供的加密钱包地址。该说明提到,受害者可以通过提供的 Tox ID for Tox(一种加密的消息传递协议)与黑客联系。但是,当受感染的机器关闭时,WhisperGate 会覆盖其 MBR 记录,这是硬盘驱动器中用于正确加载操作系统的部分。

WhisperGate 通过破坏 MBR,使系统变砖,并且无法恢复其上的任何数据。勒索软件部分只是用来掩盖攻击者的真实意图。

第二阶段

在攻击的第二阶段,名为“stage2.exe”的文件充当下载程序,从 Discord 频道获取文件损坏程序。下载链接被硬编码到下载器本身。执行有效负载后,它会扫描系统上的特定目录以查找与 180 多个不同扩展名列表匹配的文件。所有目标文件的内容将被固定数量的 0xCC 字节覆盖。为操作设置的总文件大小为 1MB。加扰文件后,破坏者将通过添加随机的四字节扩展名来更改其原始名称。

2. HermeticWiper

(1)HermeticWiper简介

HermeticWiper,因其数字证书是盗取自一家名为Hermetica Digital Ltd的公司。该擦除器的显著特点是能够绕过Windows的安全功能,,部署后不仅会破坏本地数据,还会破坏 Windows PC 的主引导记录 (MBR),从而阻止计算机在强制重新启动后引导至操作系统。

网络安全专家认为该软件至少具备以下功能:

  • 快速擦除数据文件,并且不可恢复;
  • 快速擦除NTFS、FAT分区数据;
  • 完全擦除整个磁盘或单独的分区;
  • 快速清除系统或者引导区;
  • 支持清除VMware、Virtual Box等虚拟机数据。

(2)HermeticWiper分析

HermeticWiper是一个32位Windows可执行文件,其图标类似于一个礼物。
在这里插入图片描述

  • 程序大小:117000 bytes
  • MD5:3F4A16B29F2F0532B7CE3E7656799125
  • SHA1:61B25D11392172E587D8DA3045812A66C3385451

程序运行后首先提升SeBackupPrivilege权限:

在这里插入图片描述

然后获取主机处理器的位数,从PE资源段中释放对应的驱动文件:

在这里插入图片描述
以服务的方式加载驱动,并更改活跃状态的系统vss服务启动类型SERVICE_DISABLED从而禁用vss服务:

在这里插入图片描述
在c:/windows/system32/driver目录下释放四个字母命名的驱动程序xrdr.sys并加载驱动;

在这里插入图片描述
创建多个线程并使用长时间的sleep来绕过沙箱的监控时间
在这里插入图片描述

HermeticWiper,exe进程占用了较高的CPU使用率,并向驱动发送IOCTL控制码。随着恶意软件的执行,会发现一些应用程序将无法正常工作,这是因为某些文件(包括系统DLL)已被随机数据覆盖。
在这里插入图片描述
系统重启后,Windows操作系统将无法正常工作:

在这里插入图片描述

3. IsaacWiper

IsaacWiper存在于没有Authenticode签名的Windows DLL或EXE中,执行时会枚举所有物理和逻辑驱动器和卷标,用随机数据覆盖每个磁盘前0x10000字节,并擦除磁盘上的文件数据。

该工具还会将不能访问的文件重命名为临时名称,然后擦拭新重命名的文件。IsaacWiper创建了一个日志文件C:\ProgramData\log.txt.其中保存了破坏活动的进度。

4. WhisperKill

乌克兰国家特殊通信和信息保护局发现了另外一种恶意擦除软件WhisperKill,该机构表示它重复使用了80%日的Encrpt3d勒索软件代码(又名WhiteBlackCrypt勒索软件),并试图伪装成勒索软件攻击来隐藏其攻击方式和目的,分散调查人员对攻击者的注意力。

5. CaddyWiper

(1)CaddyWiperr简介

CaddyWiper专门设计用于通过擦除用户数据、程序、硬盘驱动器以及在某些情况下分区信息来破坏目标系统。

3 月 15 日,网络安全公司ESET 发布了一个Twitter 帖子,记录了名为 CaddyWiper 的恶意软件,该恶意软件是在将其部署到目标网络的同一天编译的。

在这里插入图片描述
(2)CaddyWiperr分析

CaddyWiperr文件擦除算法由两个阶段组成:第一阶段覆盖文件,另一个阶段破坏物理磁盘布局和分区表。

对于文件销毁,它在获得 SeTakeOwnershipPrivilege 后通过修改文件的ACL条目来获得文件的所有权。然后,找到的文件将简单地用零覆盖。

大于 10,485,760 字节 ( 0xA00000 ) 的文件将简单地用零覆盖前 10,485,760 字节。

在这里插入图片描述
然后清除器将移动到系统上的下一个驱动器,从“D”驱动器开始。它将递归地获得驱动器上文件的权限并用零覆盖它们。这是按字母顺序(通过“Z:\”)为接下来的 23 个驱动器完成的。

第二阶段,擦除器尝试将系统上编号为 9 的所有物理驱动器的驱动器布局设置为 0。这将擦除有关物理驱动器分区的所有扩展信息,包括 MBR、GPT 和分区条目。

在这里插入图片描述
擦除器使用归零缓冲区递归执行 IOCTL_DISK_SET_DRIVE_LAYOUT_EX 请求,破坏文件的开头和分区表是其他擦除器上常见的技术,它在防止文件恢复方面非常有效。

6. DoubleZero

DoubleZero是一种用C语言开发的恶意破坏程序,攻击者使用该软件发起鱼叉式网络钓鱼攻击,目前该活动已被跟踪为UAC-0088。DoubleZero擦除文件使用两种方法破坏文件:用4096字节的零块覆盖其内容或使用API调用NtFileOpen、NtFsControlFile。恶意软件会在关闭受感染的系统之前删除以下Windows注册表HKCU、HKU、HKLM、HKLM\BCD。

7. AcidRain

(1) AcidRain简介

美国网络安全公司SentinelLabs于3月31日发布题为《AcidRain | A Modem Wiper Rains Down on Europe》的报告。报告称,美国卫星通信提供商Viasat于2月底遭受的网络攻击可能源于名为“酸雨”的恶意擦除软件。

SentinelLabs表示,“酸雨”可能是专门为针对乌克兰的行动而开发的,用于破坏调制解调器和路由器;该软件通过使用KA-SAT管理机制被部署在调制解调器和路由器上,随后会对设备文件系统进行深度擦除,完成擦除后会重新启动设备导致设备无法启用;“酸雨”功能相对简单,并且会进行暴力尝试,这意味着攻击者可能不熟悉目标固件的详情,或希望该工具保持通用性和复用性;“酸雨”和恶意软件VPNFilter存在相似之处,后者被认为与俄罗斯黑客组织“奇幻熊”和“沙虫”存在关联。

(2) AcidRain分析

该软件于3月15日,由一名意大利用户以“ukrop”为名将“酸雨”上传到VirusTotal后。研究人员称,“ukrop”可能是“乌克兰行动”(Ukraine operation)的缩写。

SentinelOne认为,“威胁行为者在供应链攻击中使用KA-SAT管理机制来推动为调制解调器和路由器设计的擦除软件。这种设备的擦除软件会覆盖调制解调器闪存中的关键数据,使其无法操作并需要重新刷新或更换。”

被部署后,“酸雨”会遍览受感染的路由器或调制解调器的整个文件系统。它还使用所有可能的设备标识符擦除闪存、SD/MMC卡和可以找到的任何虚拟块设备。为了破坏受感染设备上的数据,“酸雨”使用最多0x40000字节的数据覆盖文件内容,或使用MEMGETINFO、MEMUNLOCK、MEMERASE和MEMWRITEOOB输入/输出控制(IOCTL)系统调用。在数据擦除过程完成后,该恶意软件会重新启动设备,使其无法使用。

在这里插入图片描述

8. RURansom

(1)RURansom简介

RURansom是针对俄罗斯进行的数据擦除软件,该软件使用.NET编写,以蠕虫病毒的形式传播,并且会在目标机器上对文件进行不可逆的加密,从而造成数据擦除。同时在一些版本的代码当中会检查当前IP是否处于俄罗斯,从而进行攻击。

在这里插入图片描述
(2)RURansom分析

地理位置识别

恶意软件 RURansom 追踪受害者设备的 IP 位置,并且只有在检测到属于俄罗斯的 IP 时才会执行。为了识别 IP 地址,这个恶意软件使用了两个 api,分别是https://api.ipify.org 和https://ip-api.com,这两个接口都在其代码中硬编码。

在这里插入图片描述

权限提升

在识别出设备的地理位置之后,恶意软件会进一步检查被感染机器中的 Administrator 权限。

在这里插入图片描述
在这里插入图片描述

如果恶意软件没有管理员特权,它会尝试使用下面的 PowerShell 命令在升级模式下执行自身。

cmd.exe /c powershell stART-PRoceSS Assembly.GetExecutingAssembly().Location -veRB rUnAS

在这里插入图片描述

连接驱动器的发现

RURansom 恶意软件扫描受害者系统中的驱动器,包括可移动驱动器和连接到受害者机器的网络驱动器。

在这里插入图片描述

加密和删除

在扫描驱动器之后,恶意软件会对受害者电脑中已识别目录和子目录中的所有文件进行加密。为了防止从备份文件中恢复已加密的数据,恶意软件还会删除被感染的电脑中的 .bak 文件。

在这里插入图片描述

该恶意软件使用AES-CBC 加密算法来加密受害者机器中的文件

在这里插入图片描述

文件加密使用随机生成的 AES 密钥。密钥是使用诸如 FullScaleCyberInvasion、 RU_Ransom 和2022这样的硬编码字符串以及受害者的机器名和用户名计算出来的。

在这里插入图片描述

勒索信

RURansom 恶意软件置入了一个名为Полномасштабное_кибервторжение.txt(Full-blown_cyber-invasion.txt)的勒索信文件。该说明是用俄文写的,放在文件加密的所有目录中。
在这里插入图片描述

传播机制

该恶意软件将自身重命名为Россия-Украина_Война-Обновление.doc.exe (Russia-Ukraine_War-Update.doc.exe) ,并传播到所有连接的系统。

在这里插入图片描述
在这里插入图片描述

相关文章:

透视俄乌网络战之一:数据擦除软件

数据擦除破坏 1. WhisperGate2. HermeticWiper3. IsaacWiper4. WhisperKill5. CaddyWiper6. DoubleZero7. AcidRain8. RURansom 数据是政府、社会和企业组织运行的关键要素。数据擦除软件可以在不留任何痕迹的情况下擦除数据并阻止操作系统恢复摧,达到摧毁或目标系统…...

微服务中间件--Nacos

Nacos 1. Nacos入门a.服务注册到Nacosb.Nacos服务分级存储模型c.NacosRule负载均衡d.服务实例的权重设置e.环境隔离 - namespacef.Nacos和Eureka的对比 2. Nacos配置管理a.统一配置管理b.配置热更新c.多环境配置共享 1. Nacos入门 Nacos是阿里巴巴的产品,现在是Spr…...

驱动开发点亮led灯

头文件 #ifndef __HEAD_H__ #define __HEAD_H__#define PHY_LED_MODER 0X50006000 #define PHY_LED_ODR 0X50006014 #define PHY_LED_RCC 0X50000A28 #define PHY_LED_FMODER 0X50007000 #define PHY_LED_FODR 0X50007014#endif驱动代码 #include <linux/init.h> #incl…...

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现IPSO-SVM改进粒子群优化算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xf…...

数学建模之“TOPSIS数学模型”原理和代码详解

一、简介 TOPSIS&#xff08;Technique for Order Preference by Similarity to Ideal Solution&#xff09;是一种多准则决策分析方法&#xff0c;用于解决多个候选方案之间的排序和选择问题。它基于一种数学模型&#xff0c;通过比较每个候选方案与理想解和负理想解之间的相…...

threejs使用gui改变相机的参数

调节相机远近角度 定义相机的配置&#xff1a; const cameraConfg reactive({ fov: 45 }) gui中加入调节fov的方法 const gui new dat.GUI();const cameraFolder gui.addFolder("相机属性设置");cameraFolder.add(cameraConfg, "fov", 0, 100).name(…...

计算机竞赛 图像识别-人脸识别与疲劳检测 - python opencv

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是…...

PHP8的字符串操作3-PHP8知识详解

今天继续分享字符串的操作&#xff0c;前面说到了字符串的去除空格和特殊字符&#xff0c;获取字符串的长度&#xff0c;截取字符串、检索字符串。 今天继续分享字符串的其他操作。如&#xff1a;替换字符串、分割和合成字符串。 5、替换字符串 替换字符串就是对指定字符串中…...

Unity VR:XR Interaction Toolkit 输入系统(Input System):获取手柄的输入

文章目录 &#x1f4d5;教程说明&#x1f4d5;Input System 和 XR Input Subsystem&#xff08;推荐 Input System&#xff09;&#x1f4d5;Input Action Asset⭐Actions Maps⭐Actions⭐Action Properties&#x1f50d;Action Type (Value, Button, Pass through) ⭐Binding …...

智慧工地一体化云平台源码:监管端、工地端、危大工程、智慧大屏、物联网、塔机、吊钩、升降机

智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合&#xff0c;为工程项目管理提供先进技术手段&#xff0c;构建工地现场智能监控和控制体系&#xff0c;弥补传统方法在监管中的缺陷&#xff0c;最终实现项目对人、机、料、法、环的全…...

C# 表达式体方法 C#算阶乘

//表达式体方法private int Add(int a, int b) > a b;[Fact]public void Test(){var result1 Factorial(1);//1var result2 Factorial(2);//2var result3 Factorial(3);//6var result4 Factorial(4);//24var result5 Factorial(5);//120var result6 Add(100, 200);//…...

互联网发展历程:保护与隔离,防火墙的安全壁垒

互联网的快速发展&#xff0c;不仅带来了便利和连接&#xff0c;也引发了越来越多的安全威胁。在数字时代&#xff0c;保护数据和网络安全变得尤为重要。然而&#xff0c;在早期的网络中&#xff0c;安全问题常常让人担忧。 安全问题的困扰&#xff1a;网络威胁日益增加 随着互…...

基于IMX6ULLmini的linux裸机开发系列七:中断处理流程

中断上下文 cpu通过内核寄存器来运行指令并进行数据的读写处理的&#xff0c;它在进入中断前一个时刻的具体值&#xff0c;称为中断上下文 中断上下文是指CPU在进入中断之前保存的寄存器状态和其他相关信息。当CPU接收到中断请求时&#xff0c;它会保存当前正在执行的指令的状…...

Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求

本文介绍在浏览器中&#xff0c;获取网页中的某一个请求信息&#xff0c;并将其导入到Postman软件&#xff0c;并进行API请求测试的方法。 Postman是一款流行的API开发和测试工具&#xff0c;它提供了一个用户友好的界面&#xff0c;用于创建、测试、调试和文档化API。本文就介…...

react go实现用户历史登录列表页面

refer: http://ip-api.com/ 1.首先需要创建一个保存用户历史的登录的表&#xff0c;然后连接go 2.在用户登录的时候&#xff0c;获取用户的IP IP位置&#xff0c;在后端直接处理数据即可&#xff08;不需要在前端传递数据&#xff09; &#xff08;1&#xff09;增加路由&am…...

如何做好服务性能测试

一、什么是性能测试 新功能上线或切换底层数据库或扩容调优&#xff0c;根据实际业务场景的需要&#xff0c;做必要的性能压测&#xff0c;收集性能数据&#xff0c;作为上线的基准报告。 性能测试一般分一下几个阶段&#xff1a; 1. 性能测试 并发量小&#xff08;jmeter 并…...

速通蓝桥杯嵌入式省一教程:(五)用按键和屏幕实现嵌入式交互系统

一个完整的嵌入式系统&#xff0c;包括任务执行部分和人机交互部分。在前四节中&#xff0c;我们已经讲解了LED、LCD和按键&#xff0c;用这三者就能够实现一个人机交互系统&#xff0c;也即搭建整个嵌入式系统的框架。在后续&#xff0c;只要将各个功能加入到这个交互系统中&a…...

虚拟拍摄,如何用stable diffusion制作自己的形象照?

最近收到了某活动的嘉宾邀请&#xff0c;我将分享&#xff1a; 主题&#xff1a;生成式人工智能的创新实践 简要描述&#xff1a;从品牌营销、智能体、数字内容创作、下一代社区范式等方面&#xff0c;分享LLM与图像等生成式模型的落地应用与实践经验。 领域/研究方向&#xff…...

开启AI创新之旅!“华为云杯”2023人工智能应用创新大赛等你来挑战

简介 近年来&#xff0c;人工智能技术的发展如日中天&#xff0c;深刻地改变着我们的生活方式和产业格局。 为了培养AI人才&#xff0c;持续赋能AI企业&#xff0c;推进国家新一代人工智能开放创新平台建设&#xff0c;打造更加完善的AI技术创新生态&#xff0c;华为&#xf…...

npm和node版本升级教程

cmd中查看本地安装的node版本 node -v //查询node的位置 where node2.官网下载所需要的node版本&#xff0c;安装在刚查出来的文件夹下&#xff0c;即覆盖掉原来的版本 3.查看node版本是否已经更新 4.查看npm版本是否和node版本相匹配 cnpm install -g npm...

C++入门篇9---list

list是带头双向循环链表 一、list的相关接口及其功能 1. 构造函数 函数声明功能说明list(size_type n,const value_type& valvalue_type())构造的list中包含n个值为val的元素list()构造空的listlist(const list& x)拷贝构造list(InputIterator first, InputIterator…...

STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路

文章目录&#xff1a; 第一部分&#xff1a;项目开始前的计划与准备 1.项目策划和开发规范 1.1 项目要求文档 1.2 技术实现文档 1.3 开发规范 2.创建项目工程与日志 第二部分&#xff1a;调通硬件电路与驱动程序 第三部分&#xff1a;编写最基础的应用程序 第四部分&…...

Hive on Spark (1)

spark中executor和driver分别有什么作用&#xff1f; Spark中Executor 在 Apache Spark 中&#xff0c;Executor 是分布式计算框架中的一个关键组件&#xff0c;用于在集群中执行具体的计算任务。每个 Executor 都在独立的 JVM 进程中运行&#xff0c;可以在集群的多台机器上…...

PostgreSQL基本操作总结

安装按PostgreSQL数据库后&#xff0c;会默认创建用户postgres和数据库postgres&#xff0c;这个用户是超级用户&#xff0c;权限最高&#xff0c;可以创建其他用户和权限&#xff0c;在实际开发过程中&#xff0c;会新创建用户和业务数据库&#xff0c;本文主要介绍用户权限和…...

Jakarta 的 Servlet 下BeanUtils的日期处理 和JSTL 的使用

jsp优于性能等问题已经不被spring boot等支持&#xff0c;如果想使用jsp和jstl标签库需要引入一下依赖。 <!-- 用jakarta.servlet.jsp.jstl&#xff0c;用org.glassfish.web--><dependency><groupId>jakarta.servlet.jsp.jstl</groupId><art…...

聚焦电力行业CentOS迁移,麒麟信安受邀参加第六届电力信息通信新技术大会暨数字化发展论坛并发表主题演讲

为加快推进“双碳”目标下的新型能源体系和新型电力系统建设&#xff0c;深化新一代数字技术与电力业务的融合发展&#xff0c;促进电力行业关键技术自主创新、安全可控&#xff0c;助力电力企业数字化转型升级和高质量发展&#xff0c;2023年8月9-11日&#xff0c;第六届电力信…...

华为OD真题--分月饼--带答案

1. 华为OD机考题 答案 2023华为OD统一考试&#xff08;AB卷&#xff09;题库清单-带答案&#xff08;持续更新&#xff09; 2023年华为OD真题机考题库大全-带答案&#xff08;持续更新&#xff09; 2. 面试题 一手真实java面试题&#xff1a;2023年各大公司java面试真题汇总--…...

帆软大屏2.0企业制作

&#xfffc; 数字化观点中心 / 当前页 如何从0-1制作数据大屏&#xff0c;我用大白话给你解释清楚了 文 | 商业智能BI相关文章 阅读次数&#xff1a;18,192 次浏览 2023-06-08 11:51:49 好莱坞大片《摩天营救》中有这么一个场景&#xff1a; &#xfffc; 你可以看见反派大b…...

【学习笔记之opcua】使用Python获取opcua数据

Python与OPC UA的应用 示例代码 将代码放入spyder中运行后&#xff0c;出现下面这个错误 没有‘opcua’&#xff0c;那我们就下载pip install opcua 之后出现下面这个错误 问问题大不&#xff0c;安装语句写错了 正经安装语句是 !pip install opcua 读取opcua协议数据测试 …...

apache doris和StarRocks的区别

记录一下最新要用到2个新数据库的区别 Apache Doris是一个分布式的列式存储系统&#xff0c;它的设计目标是提供大规模数据处理的可靠性和高性能。Doris采用了集群方式&#xff0c;通过将数据分布在多个机器上进行处理来提高性能&#xff0c;并提供了SQL查询接口方便用户使用。…...

文心一言最新重磅发布!

8月16日&#xff0c;由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT深度学习开发者大会2023举办。百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰以《大语言模型为通用人工智能带来曙光》为题&#xff0c;阐述了大语言模型具备理解、生成、逻辑、记忆…...

css整体使用

文章目录 html与csshtml、css与排版响应式与自适应布局自适应布局响应式布局 css规则class、id、以及默认的标签名的优先级 css书写位置flex整体逻辑 bootstrap资源 html与css html负责网页功能&#xff0c;css负责网页美化&#xff1b;浏览器本身有一套默认的css样式&#xf…...

LeetCode1578. 使绳子变成彩色的最短时间

思路 拆除成本 全部拆除 - 最大的不拆除在统计成本的同时&#xff0c;维持一个成本的最大值 代码 class Solution {public int minCost(String colors, int[] neededTime) {int res 0;int i 0;int len colors.length();while (i < len) {int max -1;int sum 0;char…...

如何在机器学习中实现分类?

机器学习和统计学中的分类是一种监督学习方法,其中计算机程序从给定的数据中学习并进行新的观察或分类。在本文中,我们将详细了解机器学习中的分类。 本博客涵盖以下主题: 目录 什么是机器学习中的分类? 机器学习中的分类术语 分类算法...

华为网络篇 RIP的负载均衡-29

难度2复杂度2 目录 一、实验原理 二、实验拓扑 三、实验步骤 四、实验过程 总结 一、实验原理 RIP是使用跳数&#xff08;经过路由的数量&#xff09;作为metric值的&#xff0c;当网络上存在去往目标的路由有两条以上都是相同metric时&#xff0c;就出现了流量负载均衡。…...

前端面试的性能优化部分(10)每天10个小知识点

目录 系列文章目录前端面试的性能优化部分&#xff08;1&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;2&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;3&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;4&#xff09;每天…...

分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测

分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测 目录 分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 分类预测 | MATLAB实现S4VM半监督支持向量机二分类预测 程序设计 完整源码和数据获取方式&#xff1a; …...

maven -pl -am -amd

maven常见命令之 -pl -am -amd 昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包&#xff0c;第一时间便想到了-pl参数&#xff0c;然后就开始处理&#xff0c;但是因为之前只看了一下命令的介绍&#xff0c;竟然花了近半小时才完全跑通&#xff0c;故记录…...

高效解决Anaconda Prompt报错Did not find VSINSTALLDIR这类问题

文章目录 回忆问题解决问题step1step2 回忆问题 类似于划红线部分然后还有很多行的报错信息&#xff0c;最后一行肯定是红色划线部分 解决问题 step1 找到 D:\Anaconda\envs\pytorch\etc\conda\activate.d在这个文件夹内会有两个文件&#xff0c;删除 vs2017_compiler_v…...

将iPhone备份到移动硬盘

文章目录 将iPhone备份到移动硬盘如何在 MacOS 上查找当前备份如何在 MacOS 上查找当前备份如何将 iPhone 备份移至外部硬盘如何永久更改 Mac系统 保存 iPhone 备份的位置更新 Mac 上的权限更改 iPhone 备份位置如何验证新的 iPhone 备份已经生效?将iPhone备份到移动硬盘 如果…...

找工作 相关资料

1、简历准备 一份近乎完美的计算机简历应该如何写以及如何修改&#xff1f;-知乎 2.1 机械面试可能的问题 2.1.1 技术邻上的 机械专业面试31问 2.1.2 B站上的 B站&#xff1a; “经常作为面试题&#xff0c;50个机械设计基础常识&#xff0c;你掌握了几个&#xff1f;”文…...

罗勇军 → 《算法竞赛·快冲300题》每日一题:“排列变换” ← 贪心算法

【题目来源】http://oj.ecustacm.cn/problem.php?id1812http://oj.ecustacm.cn/viewnews.php?id1023【题目描述】 给定一个长度为 n 的排列 a&#xff0c;需要将这个排列变成 b。 每次可以选择一个数字往左移若干个位置。 请求出最小需要移动的元素个数。【输入格式】 第一行…...

算法修炼Day51|● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费

LeetCode:309.最佳买卖股票时机含冷冻期 309. 买卖股票的最佳时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09; 1.思路 初始化dp[i][j]数组&#xff0c;表示第i天的最大利润为dp[i][j]. 精确的定义状态是个难点&#xff0c;可以定义四种状态&#xff1a;持有股票&#…...

LVS-DR模型实例

一、LVS-DR集群介绍 LVS-DR&#xff08;Linux Virtual Server Director Server&#xff09;工作模式&#xff0c;是生产环境中最常用的一 种工作模式。 1、LVS-DR 工作原理 LVS-DR 模式&#xff0c;Director Server 作为群集的访问入口&#xff0c;不作为网关使用&#xff0…...

Vue面试题

1. vue优点 轻量级速度快简单易学低耦合可重用性独立开发文档齐全&#xff0c;且文档为中文文档 2. ## vue中组件间传值 prop/$emit 父子组件传值 ref 和 $parent/$children 父子组件传值 eventBus($emit/$on) 父子&#xff0c;隔代&#xff0c;兄弟组件传值 $attrs/$listeners…...

使用图像处理算法检测金属表面的生锈区域: Python实现及步骤解析

摘要&#xff1a; 本文主要介绍如何使用Python和OpenCV库来实现对金属表面的生锈区域的检测。图像处理在工业领域有着广泛的应用&#xff0c;尤其是对材料的表面缺陷的检测。本文将详细阐述该算法的具体实现步骤&#xff0c;并提供完整的Python代码示例。 1. 引言 金属的锈蚀是…...

通过爬虫抓取上市企业利润表并在睿思BI中展示

睿思BI从v5.3开始支持网络爬虫&#xff0c;可以从指定URL抓取表格数据&#xff0c;本示例实现从网络上抓取上市企业招商银行的利润表数据&#xff0c;并在睿思BI中进行展现。 功能演示URL&#xff1a;https://www.ruisitech.com/rsbi-ultimate/#/dashboard/ShareView?token31…...

填充柄功能

单元格右下角十字符号 顺序式填充 输入1,2&#xff0c;直接拉取即可实现顺序1到10. 复制式填充 CtrlD或者拉取&#xff0c;选择右下角复制单元格。 规律式填充 输入星期一&#xff0c;星期二&#xff0c;下拉一直可以到星期日 自定义填充 选择文件-》选项-》自定义序列 输…...

Python爬虫性能优化:多进程协程提速实践指南

目录 1. 多进程爬虫的实现&#xff1a; 1.1 将爬虫任务划分成多个子任务&#xff1a; 1.2 创建进程池&#xff1a; 1.3 执行任务&#xff1a; 1.4 处理结果&#xff1a; 代码示例 2. 协程爬虫的实现&#xff1a; 2.1 定义异步爬虫函数&#xff1a; 2.2 创建事件循环&a…...

mongodb export(2023新)

之前的mongodb export发现不能用了&#xff0c;T3带ui的版本&#xff0c;试用到期不支持导出。 根据文档&#xff0c;是因为server版本更新后 tool版本没有升级&#xff0c;(refs文档) 按文档下载bin&#xff0c;后解压到更新本地文件夹&#xff0c;替换/usr/local/bin里的文…...