勒索软件漏洞?在不支付赎金的情况下解密文件

概述

在上一篇文章中,笔者对BianLian勒索软件进行了研究剖析,并且尝试模拟构建了一款针对BianLian勒索软件的解密工具,研究分析过程中,笔者感觉构建勒索软件的解密工具还挺有成就感,因此,笔者准备再找一款新兴勒索软件研究一下。于是,笔者就尝试搜索了一下近期活跃的勒索软件,发现了一篇名为《研究人员利用漏洞解密HomuWitch勒索软件》的报告,报告称研究人员发现了一个HomuWitch勒索软件漏洞,该漏洞能够为所有HomuWitch受害者创建免费解密工具,而HomuWitch勒索软件最早出现时间为2023年7月。相关报告截图如下:

基于报告中的内容,笔者感觉挺好奇,想详细探究一下此勒索软件漏洞到底是怎么回事。于是,笔者准备从如下角度开展研究剖析:

  • HomuWitch勒索软件功能分析:基于静态分析及动态调试对其功能进行分析
  • HomuWitch勒索软件漏洞研究:探究其漏洞成因及漏洞利用方法
  • 模拟构建勒索解密工具:模拟构建一款针对HomuWitch勒索软件的解密工具

HomuWitch功能分析

通过模拟使用HomuWitch勒索软件,笔者发现此勒索软件运行后的行为与BianLian勒索软件略有一些不同,不同点如下:

  • 外联功能:HomuWitch勒索软件将外联发送系统基本信息,同时还将外联获取勒索信内容
  • 弹窗功能:HomuWitch勒索软件勒索加密后,将弹出一个窗体,用于展示勒索信内容
  • 修改桌面壁纸:HomuWitch勒索软件勒索加密后,将修改桌面壁纸
互斥对象

通过分析,发现此样本运行后,将创建互斥对象,用于确保同一系统中只运行一个单一实例程序,对比多个HomuWitch勒索软件程序,发现其互斥对象名均相同,相关互斥对象名信息如下:

样本hash互斥对象名
6A4031B90648996EDC96A2613770DFEDghfdujhuiGYGyftgfTshyhrshdemjutdgjndtgFUYfuyhFTU&FK
39FB8A39EF0AE859010229792B18A433ghfdujhuiGYGyftgfTshyhrshdemjutdgjndtgFUYfuyhFTU&FK
C76D1FFE5F002C50351831497E27288DghfdujhuiGYGyftgfTshyhrshdemjutdgjndtgFUYfuyhFTU&FK
4C94CDD785AEBEDCF2EB3FE4A8B1B7A6ghfdujhuiGYGyftgfTshyhrshdemjutdgjndtgFUYfuyhFTU&FK
7EDC06AE0340336DD0F0CB1DC3BA291BghfdujhuiGYGyftgfTshyhrshdemjutdgjndtgFUYfuyhFTU&FK
739B13103A0AE7DB5E975408BD022DC9ghfdujhuiGYGyftgfTshyhrshdemjutdgjndtgFUYfuyhFTU&FK

相关代码截图如下:

外联发送系统基本信息

通过分析,发现此样本运行后,将收集系统基本信息,并将其组合发送至外链C&C处,发送的基本信息有:

  • 设备ID
  • 系统语言:基于当前应用程序的用户界面区域性的名称
  • 国家/地区信息:外链[ipapi.co/country_code/](https://link.zhihu.com/?target=https%3A//ipapi.co/country_code/ "ipapi.co/country_code/")地址获取,否则基于当前系统区域设置的显示名称
  • 用户名

相关代码截图如下:

待加密目录

通过分析,发现HomuWitch勒索软件在开始执行加密行为前,将遍历驱动器,并将(总磁盘大小-磁盘空闲空间大小)小于3GB的磁盘中的目录添加至待加密目录中,推测此代码目的为识别USB外置设备。

HomuWitch勒索软件的默认待加密目录为:桌面、Downloads、用户目录

相关代码截图如下:

勒索加密逻辑

通过分析,梳理HomuWitch勒索软件的加密逻辑如下:

  • 待加密目录:
桌面
Downloads
用户目录
磁盘使用空间小于3GB的磁盘中的目录
  • 待加密文件后缀:
".pdf"、".doc"、".docx"、".ppt"、".pptx"、".xls"、".xlsx"、".py"、".rar"、".zip"、".7z"、".txt"、".mp4"、".JPG"、".jpeg"、".PNG"、".HEIC"、".csv"、".rtf"、".bbbbbbbbb"
  • 待加密文件大小
小于55MB
  • 加密后文件后缀:
.homuencrypted

相关代码截图如下:

加密算法

通过分析,发现HomuWitch勒索软件将使用C#的DEFLATE压缩算法及AES算法进行勒索加密:

  • 将样本中内置的密钥信息作为Rfc2898算法的password参数
  • 随机生成16字节,将其作为Rfc2898算法的salt参数,同时将其写入勒索加密文件的前16字节中
  • 调用Rfc2898算法迭代计算生成AES CBC运算的key及IV值
  • 调用C#的DEFLATE压缩算法对原始文件数据内容进行压缩
  • 调用AES CBC算法对C#的DEFLATE压缩算法运算后的压缩数据进行加密

相关代码截图如下:

弹窗显示勒索信

结合样本动态行为及逆向分析,发现当HomuWitch勒索软件加密完成后,HomuWitch勒索软件将弹窗,弹窗中的内容为外联请求后的返回信息。

实际运行后弹窗截图如下:(测试环境,因此未实际外联获取返回信息)

相关代码截图如下:

外联地址及加密密钥

通过分析,梳理各HomuWitch勒索软件程序的外联地址及加密密钥信息如下:

样本hash外联地址加密密钥
6A4031B90648996EDC96A2613770DFEDhttps://193.164.150.225:1200/oralcumshot1998
39FB8A39EF0AE859010229792B18A433http://79.137.207.233/oralcumshot1998
C76D1FFE5F002C50351831497E27288Dhttp://78.142.0.42/oralcumshot1998
4C94CDD785AEBEDCF2EB3FE4A8B1B7A6https://193.164.150.225:1200/oralcumshot1998
7EDC06AE0340336DD0F0CB1DC3BA291Bhttps://193.164.150.225:1200/oralcumshot1998
739B13103A0AE7DB5E975408BD022DC9https://193.164.150.225:1200/oralcumshot1998
其他行为

通过分析,发现HomuWitch勒索软件在运行过程中,还具备如下特殊行为:

  • 隐藏自身

  • 清空回收站:勒索加密行为前执行

  • 生成配置文件:用于判断是否执行过勒索加密行为

HomuWitch勒索软件使用问题

在实际使用的过程中,笔者发现HomuWitch勒索软件还存在很多小问题,此类问题将直接导致HomuWitch勒索软件运行失败。(推测:可能HomuWitch勒索软件确实比较新吧,攻击者还未对其进行过很好的优化就直接拿来用了,又或者攻击者对被攻击环境比较熟悉,认为此类问题不会在被攻击环境中触发)

获取磁盘信息异常

根据上述HomuWitch勒索软件的功能分析,发现HomuWitch勒索软件在开始执行加密行为前,将遍历驱动器,由于其未对驱动器类型进行判断,导致其遇到CD/DVD驱动器时,代码将执行异常,然后直接异常退出。相关截图如下:

兼容性不好

通过实际测试使用,发现HomuWitch勒索软件在Win10环境中可成功运行,但是在Win7环境中均无法运行,相关截图如下:

HomuWitch勒索软件漏洞

由于网络中报告称研究人员发现了一个HomuWitch勒索软件漏洞,该漏洞能够为所有HomuWitch受害者创建免费解密工具。因此,笔者就一直在琢磨究竟自己能不能找到报告中描述的漏洞。

通过分析尝试,笔者成功复现了网络中报告描述的内容,成功利用HomuWitch勒索软件自身对被勒索系统中的勒索文件进行了解密。虽然实现了相关流程,但是笔者却认为直接描述为利用HomuWitch勒索软件漏洞实现解密效果有些牵强,描述为利用HomuWitch勒索软件的设计缺陷更合适一些:

  • 应用程序漏洞的名词定义:在软件应用程序中存在的安全弱点或错误,可以被攻击者利用来执行未经授权的操作、获取敏感信息或导致系统崩溃等不良后果。这些漏洞可能是由于设计、编码、配置或部署方面的错误而产生的。
  • HomuWitch勒索软件漏洞(设计缺陷)形成:HomuWitch勒索软件中提供了勒索解密函数,同时勒索加解密算法为对称加密算法,因此导致可直接从HomuWitch勒索软件中提取加解密密钥;若其使用非对称加密算法,则此漏洞(设计缺陷)将无法被利用。
漏洞OR设计缺陷?

为了寻找此漏洞,笔者也是对HomuWitch勒索软件的反编译源码进行了详细阅读,虽然花费了一些时间,没有直接找到漏洞,不过也是找到了HomuWitch勒索软件中的一些有意思的代码:

  • 在反编译代码中发现勒索解密函数:DecryptFile(string inputFilePath, string outputFilePath)
  • 在反编译代码中发现勒索解密函数的调用流程:HomuCrypt.DecryptFile(text, Path.Combine(Path.GetDirectoryName(text), Path.GetFileNameWithoutExtension(text)));

相关代码截图如下:

基于此,笔者推测,此款HomuWitch勒索软件的勒索逻辑为:当被害者支付赎金后,攻击者向其反馈解密密钥,然后被害者在HomuWitch勒索软件中填写解密密钥实现勒索解密。

为了验证笔者的猜想,笔者尝试在网络中搜索了一下HomuWitch勒索软件的窗体截图,发现HomuWitch勒索软件的窗体中确实提供了一个填写密钥的输入框,相关截图如下:

缺陷利用

尝试将【外联地址及加密密钥】章节中提取的密钥信息填写至窗体密钥输入框中,笔者发现,可直接利用HomuWitch勒索软件对系统进行勒索解密。

加密后系统截图如下:(桌面壁纸被修改,窗体程序只能通过任务管理器关闭)

解密后系统截图如下:(桌面壁纸被修改,释放bat文件自删除)

仔细琢磨了一下,这便是网络中报告提到的勒索软件漏洞吧。。。纯纯的为了吸引眼球。。。

手动解密尝试

为了更直观的复现其勒索解密流程,笔者尝试将C#的DEFLATE压缩算法及AES算法的输出内容进行了提取,并基于CyberChef工具实现了手动解密,详细情况如下:

备注:笔者使用其他编程语言一直无法模拟实现C#的DEFLATE压缩算法,因此最终只能选择直接调用C#代码实现DEFLATE压缩算法

#***************************加密************************
#原始文件内容
61 61 61 61 61 61 61 61 61 61 61 0D 0A 62 62 62
62 62 62 62 62 62 62#  C#的DEFLATE压缩算法运算后
4B 4C 84 03 5E AE 24 38 00 00#AES CBC算法运算后
BF 74 17 D5 2F 80 6A 19 D0 F4 1F 43 EF 85 77 C6
85 7F C3 C0 88 9E 55 03 A9 54 F7 40 80 0C DA F1#***************************解密************************
#提取Rfc2898算法的salt参数
BF 74 17 D5 2F 80 6A 19 D0 F4 1F 43 EF 85 77 C6#样本内置的password值
oralcumshot1998#调用Rfc2898算法迭代计算生成AES CBC运算的key及IV值
37ee14845f1a7c040dbcc0ebcd2e88a9a5df0ae0bfbf5f525d8a48a24d3f1595
8b5e39cc073a81ef4a4d7c17ffdbd470#调用AES CBC算法解密
4b4c84035eae24380000#  C#的DEFLATE解压缩算法需要调用C#代码使用

相关截图如下:

模拟构建勒索解密工具

虽然我们可直接利用HomuWitch勒索软件实现勒索解密行为,但笔者基于研究目的,还是决定模拟构建一款勒索解密工具:

  • 此次使用的编程语言为C#
  • 借助everything文件搜索工具,提取系统中的勒索后缀(.homuencrypted)文件列表。
  • 基于上述HomuWitch勒索软件的加解密原理,模拟构建针对HomuWitch勒索软件的解密工具,解密还原原始文件,并将勒索后缀文件重命名为“.bak”文件后缀。
代码实现

代码结构如下:

  • Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using System.IO.Compression;
using System.Security.Cryptography;namespace ConsoleApplication1
{class Program{public static void DecryptFile(string inputFilePath, string outputFilePath){string password = "oralcumshot1998";using (FileStream fileStream = new FileStream(inputFilePath, FileMode.Open)){using (FileStream fileStream2 = new FileStream(outputFilePath, FileMode.Create)){using (Aes aes = Aes.Create()){byte[] bytes = Encoding.UTF8.GetBytes(password);byte[] array = new byte[16];fileStream.Read(array, 0, array.Length);Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(bytes, array, 10000);byte[] bytes2 = rfc2898DeriveBytes.GetBytes(32);byte[] bytes3 = rfc2898DeriveBytes.GetBytes(16);using (ICryptoTransform cryptoTransform = aes.CreateDecryptor(bytes2, bytes3)){using (CryptoStream cryptoStream = new CryptoStream(fileStream, cryptoTransform, CryptoStreamMode.Read)){using (DeflateStream deflateStream = new DeflateStream(cryptoStream, CompressionMode.Decompress)){deflateStream.CopyTo(fileStream2);}}}}}}}static void Main(string[] args){string filePath = "C:\\Users\\admin\\Desktop\\11.txt";try{using (StreamReader sr = new StreamReader(filePath)){string line;while ((line = sr.ReadLine()) != null){Console.WriteLine(line);string suffix = ".homuencrypted";if (line.EndsWith(suffix)){string srcname = line.Substring(0, line.Length - suffix.Length);DecryptFile(line, srcname);File.Move(line, line + ".bak");}}}}catch (Exception e){Console.WriteLine("读取文件时发生错误:" + e.Message);}}}
}

黑客

很多朋友都想了解如何入门/转行网络安全,实现自己的“黑客梦”。文章的宗旨是:

1.指出一些自学的误区

2.提供客观可行的学习表

3.推荐我认为适合小白学习的资源.大佬绕道哈!

在这里插入图片描述

第一阶段:基础操作入门

入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。

第二阶段:学习基础知识

在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!

所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:

1.操作系统

2.协议/网络

3.数据库

4.开发语言

5.常见漏洞原理

学习这些基础知识有什么用呢?

计算机各领域的知识水平决定你渗透水平的上限。

【1】比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;

【2】比如:你数据库知识水平高,那你在进行SQL注入攻击

的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;

【3】比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;

【4】再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息

第三阶段:实战操作

1.挖SRC
挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会。

2.从技术分享帖(漏洞挖掘类型)学习
观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维

3.从b站观看一些有用的视频
b站还是有些视频对你的实战和提升技术有帮助的,也可以去b站是私聊up领取实战课件

4.靶场练习
自己搭建靶场或者去免费的靶场网站练习,有条件的话可以去购买或者报靠谱的培训机构,一般就有配套的靶场练习

第四阶段:参加CTF比赛或者HVV行动
推荐:CTF
CTF有两点:

【1】接近实战的机会。现在网络安全法很严格,不像之前大家能瞎搞

【2】题目紧跟技术前沿,而书籍很多落后了

【3】如果是大学生的话,以后对找工作也很有帮助
如果你想打CTF比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料

推荐:HVV(护网)

HVV有三点:

【1】也能极大的锻炼你,提高自身的技术,最好是参加每年举行的HVV行动

【2】能认识许多圈内的大佬,扩大你的人脉

【3】HVV的工资也很高,所以参加的话也能让你赚到不少钱

【4】和CTF比赛一样如果是大学生的话,以后对找工作也很有帮助

相关网站推荐

1、FreeBuf
国内关注度最高的全球互联网安全媒体平台,爱好者们交流与分享安全技术的社区,网络安全行业门户。

2、看雪
看雪论坛是个软件安全技术交流场所,为安全技术爱好者提供一个技术交流平台和资源。

3、吾爱破解
吾爱破解论坛是致力于软件安全与病毒分析的非营利性技术论坛。

4、阿里云先知社区
一个开放型技术平台。

5、腾讯玄武安全实验室
各种CVE漏洞。

推荐书籍入门

《白帽子讲Web安全》 2012
《Web安全深度剖析》2015
《Web安全攻防 渗透测试实战指南》2018进阶
《WEB之困-现代WEB应用安全指南》 2013
《内网安全攻防渗透测试安全指南》 2020
《Metasploit渗透测试魔鬼训练营》2013
《SQL注入攻击与防御》2010
《黑客攻防技术宝典-Web实战篇(第2版)》
《日志管理与分析权威指南》
《kali Linux高级渗透测试》
《黑客社会工程学攻防演练》
《XSS跨站脚本攻击剖析与防御》
《黑客攻防实战之入门到精通》
————————————————

img
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业OA办公系统开发笔记:2、MyBatis-Plus

文章目录 企业办公系统:2、MyBatis-Plus一、MyBatis-Plus1、简介2、主要特点3、依赖 二、MyBatis-Plus入门1、配置文件2、启动类3、实体类4、添加Mapper类5、测试Mapper接口6、CRUD测试6.1、insert添加6.1.1、示例6.1.2、主键策略 6.2、更新6.3、删除6.3.1、根据id删…

第十一届蓝桥杯大赛软件类决赛 Java A 组

文章目录 发现宝藏【考生须知】试题 A: 合数个数试题 B : 含 2 天数试题 C: 本质上升序列试题 D: 迨尺天涯试题 E: 玩具蛇试题 F: 游园安排试题 G: 画廊试题 H: 奇偶覆盖试题 I: 补给试题 J: 蓝跳跳 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&…

(接上一篇linux rocky 搭建DNS高阶版)实现不同网段访问解析不同的服务器并加域

上一篇链接:linux rocky 搭建DNS服务和禁止AD域控DNS,做到独立DNS并加域-CSDN博客文章浏览阅读417次,点赞13次,收藏7次。使用linux rocky 搭建DNS服务,用于独立AD域控DNS存在,并且实现加域。https://blog.c…

数字集成电路物理设计[陈春章]——知识总结与精炼01

第一章 集成电路物理设计方法 1.1 数字集成电路设计挑战 1.2 数字集成电路设计流程 前两节内容讲述的是数字集成电路发展与流程,知识体系比较宏观和简单,请读者自行了解即可。 1.3 数字集成电路设计收敛 实现设计收敛任务:①数据系统;②优…

Flume 的安装和使用方法(Spark-2.1.0)

一、Flume的安装 1.下载压缩包 https://www.apache.org/dyn/closer.lua/flume/1.7.0/apache-flume-1.7.0-bin.tar.gz 2.上传到linux中 3.解压安装包 cd #进入加载压缩包目录sudo tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /usr/local # 将 apache-flume-1.7.0-bin.tar.g…

有哪些值得买的开放式耳机推荐?2024年开放式运动耳机选购指南

开放式耳机因其独特设计,能在一定程度上保护听力。相较于传统封闭式耳机,开放式设计允许周围环境声音自然流入耳内,降低了耳内共振和声压,减少了耳道的不适感,从而减轻了对听力的潜在损害。对于追求音质与听力保护并重…

国外新闻媒体推广:多元化媒体分发投放-大舍传媒

前言 :随着全球化的进程,国外新闻市场呈现出快速发展的趋势。在这个趋势下,国外新闻媒体推广成为了各行业企业宣传业务的重要一环。本文将重点介绍大舍传媒的多元化媒体分发投放服务,以及对国外新闻媒体推广的意义。 1. 多元化媒…

阿赵UE引擎C++编程学习笔记——解决中文乱码问题

大家好,我是阿赵。   在UE编写C的时候,可能有些朋友发现,在C里面如果打印输出或者赋值一些中文的字符串的时候,会出现各种的报错,要么乱码,要么直接编译不过。   这个问题,其实和UE本身没什…

OSEK应用模式

1 前言 应用模式(Application modes)用于区分不同的场景,以便在系统运行时,组织各自相互独立的OS相关的资源集合,是一种分而治之的思想体现。不同的应用模式是互斥的,即系统当前必须在一种应用模式(且只能在…

Java面试八股之反射慢在哪里

Java反射慢在哪里 动态类型检查: 在反射过程中,Java需要在运行时确定类、方法、字段等的类型信息。这与编译时已经确定类型信息的常规对象访问不同,反射需要额外的类型查询和验证,增加了性能开销。 安全检查: 反射…

对文本框做字数限制

效果图 实现步骤 其中绝对布局根据需求自行调整 <!--单文本输入框--> <div class"form-group"><label class"col-sm-2 control-label is-required">面试公司&#xff1a;</label><div class"col-sm-9"><input …

前端崽的java study笔记

文章目录 basic1、sprint boot概述2、sprint boot入门3、yml 配置信息书写和获取 持续更新ing~ basic 1、sprint boot概述 sprint boot特性&#xff1a; 起步依赖&#xff08;maven坐标&#xff09;&#xff1a;解决配置繁琐的问题&#xff0c;只需要引入sprint boot起步依赖的…

对关系型数据库管理系统的介绍

1.数据库的相关介绍 关系型数据库管理系统&#xff1a;&#xff08;英文简称&#xff1a;RDBMS&#xff09; 为我们提供了一种存储数据的特定格式&#xff0c;所谓的数据格式就是表&#xff0c; 在数据库中一张表就称为是一种关系. 在关系型数据库中表由两部分组成&#xf…

大企业总部与分部组网方案

在全球化的经济环境中&#xff0c;大企业往往设有总部和多个地理分散的分部。为了确保信息的快 速流通、资源的优化配置以及管理的高效运作&#xff0c;构建一个稳定、安全且高效的组网方案显 得尤为重要。本文将探讨大企业如何通过技术手段和管理策略&#xff0c;实现总部与分…

学习古琴律学的好东西,帮您从基因里学古琴

《从基因里学懂古琴》是一本关于古琴律学的著作&#xff0c;作者通过基因的角度来解读古琴音乐的奥秘和美妙。古琴作为我国传统文化的瑰宝之一&#xff0c;具有悠久的历史和独特的音乐风格&#xff0c;但其律学原理一直以来都是一个谜。本书从基因的角度探讨了古琴音乐的律学特…

DigitalOcean 的PostgreSQL、MySQL、Redis、Kafka托管数据库,现已支持自定义指标收集功能

近期&#xff0c;我们的几个托管数据库&#xff08;PostgreSQL、MySQL、Redis和Kafka&#xff09;引入了自定义数据指标功能&#xff08;scrapable metrics&#xff09;。这些指标使您更具体、更细致地了解数据库的性能&#xff0c;包括延迟、资源利用率和错误率。然后&#xf…

vuex的基本认知

目录 一、什么是vuex 二、vuex的应用场景 三、vuex的优势 一、什么是vuex Vuex是一个vue的状态管理工具&#xff0c;状态就是数据。 进一步解释&#xff1a;vuex是一个插件&#xff0c;可以帮助我们管理vue通用的数据&#xff08;多组件共享的数据&#xff09; 二、vuex的…

Git 分支命令操作详解

目录 1、分支的特点 2、分支常用操作 3、分支的使用 3.1、查看分支 3.2、创建分支 3.3、修改分支 3.4、切换分支 3.5、合并分支 3.6、产生冲突 3.7、解决冲突 3.8、创建分支和切换分支说明 1、分支的特点 同时并行推进多个功能开发&#xff0c;提高开发效率。各个分…

C# 在Excel中添加筛选器并执行筛选 (日期筛选、文本筛选、数字筛选)

自动筛选器是 Excel 中的一个基本但极其有用的功能&#xff0c;它可以让你根据特定的条件来自动隐藏和显示你的数据。当有大量的数据需要处理时&#xff0c;这个功能可以帮你快速找到你需要的信息&#xff0c;从未更加有效地分析和处理相关数据。 下面将介绍如何使用免费.NET …

传感数据分析——加速度、速度与位移

传感数据分析——加速度、速度与位移 在许多科学和工程应用中&#xff0c;传感器数据的分析是一项至关重要的任务。特别是在运动、运输、结构监测等领域&#xff0c;传感器能够提供有关物体运动和变形的宝贵信息。本文将介绍如何利用Python进行传感器数据分析&#xff0c;重点…