软件安全复习

news2024/11/14 16:21:52

文章目录

  • 第一章 软件安全概述
    • 1.1 信息定义
    • 1.2 信息的属性
    • 1.3 信息安全
    • 1.4 软件安全
    • 1.5 软件安全威胁及其来源
      • 1.5.1 软件缺陷与漏洞
        • 1.5.1.1 软件缺陷
        • 1.5.1.2 漏洞
        • 1.5.1.3 软件漏洞
        • 1.5.1.4 软件缺陷和漏洞的威胁
      • 1.5.2 恶意软件
        • 1.5.2.1 恶意软件的定义
        • 1.5.2.2 恶意软件的威胁
      • 1.5.3 软件破解
    • 1.6 如何加强软件安全防护
      • 1.6.1 安全设计
      • 1.6.2 保障运行环境
      • 1.6.3 加强软件自身行为认证
      • 1.6.4 恶意软件检测与查杀
      • 1.6.5 黑客攻击与防护
      • 1.6.6 系统还原
      • 1.6.7 虚拟隔离
    • 1.7 本章小结
  • 第二章 软件安全基础
    • 2.1 计算机磁盘的管理
      • 2.1.1 磁盘结构简介
      • 2.1.2 主引导扇区结构
      • 2.1.3 文件系统
        • 2.1.3.1 FAT32文件系统
        • 2.1.3.2 NTFS文件系统
    • 2.2 计算机系统引导过程
      • 2.2.1 BIOS的定义
      • 2.2.2 BIOS引导模式
          • 2.2.2.1 传统BIOS引导
        • 2.2.2.2 UEFI BIOS引导
    • 2.3 PE文件格式
    • 2.4 本章小结
  • 第三章 软件漏洞利用与防护
    • 3.1 软件漏洞
    • 3.2 漏洞分类及其标准
      • 3.2.1 漏洞分类
      • 3.2.2 软件漏洞产生的原因
        • 3.2.2.1 技术因素
        • 3.2.2.2 非技术因素
    • 3.3 软件漏洞的利用方式
      • 3.3.1 本地攻击模式
      • 3.3.2 远程主动攻击模式
      • 3.3.3 远程被动攻击模式
  • 第四章 典型软件漏洞机理分析
    • 4.1 缓冲区溢出漏洞
      • 4.1.1 栈溢出
      • 4.1.2 堆溢出
      • 4.1.3 格式化串漏洞
    • 4.2 Web应用程序漏洞
      • 4.2.1 Web应用安全概述
      • 4.2.2 SQL注入漏洞
      • 4.2.3 跨站脚本(XSS)
      • 4.2.4 跨站请求伪造(CSRF)
      • 4.2.5 其他Web漏洞
  • 第五章 软件漏洞的利用和发现
    • 5.1 Exploit 结构
    • 5.2 漏洞利用的具体技术
    • 5.3 Shellcode开发
    • 5.4 软件漏洞挖掘技术及工具
  • 第六章 Windows 系统安全机制及漏洞防护技术
  • 第七章 构建安全的软件
  • 第八章 恶意代码及其分类

第一章 软件安全概述

1.1 信息定义

香农提出“信息是用来消除随机不确定性的其他东西”,其他相关观点:

  • 信息是主体相对于客体的变化。
  • 信息是确定性的增加。
  • 信息是反应客观世界中各种事物特征和变化的知识,是数据加工的结果,信息是有用的数据。
  • 信息是有价值的消息。

信息的主要特点:

  • 信息是有价值的:信息的价值是相对的;
  • 信息是流动的:信源→信道→信宿。

1.2 信息的属性

真实性:对信息来源进行判断,能对伪造来源的信息予以鉴别;
保密性:保证机密信息不被窃听,或窃听者不能了解信息的真实含义;
完整性:保证数据的一致性,防止数据被非法用户篡改;
可用性:保证合法用户对信息和资源的使用不会被不正当地拒绝;
不可抵赖性:建立有效的责任机制,防止用户否认其行为;
可控制性:对信息的传播及内容具有控制能力;
可审查性:对出现的网络安全问题提供调查的依据和手段。

1.3 信息安全

信息安全是对信息的保密性完整性可用性的保持。

1.4 软件安全

软件安全是使软件在受到恶意攻击的情形下依然能够继续正确运行的工程化软件思想。

1.5 软件安全威胁及其来源

1.5.1 软件缺陷与漏洞

1.5.1.1 软件缺陷

软件缺陷,常常又被称作Bug,是指计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。

1.5.1.2 漏洞

漏洞,是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而使攻击者能够在未授权的情况下访问或破坏系统。

1.5.1.3 软件漏洞

软件漏洞,是指软件在设计、实现、配置策略及使用过程中出现的缺陷,其可能导致攻击者在未授权的情况下访问或破坏系统。

1.5.1.4 软件缺陷和漏洞的威胁

软件正常功能被破坏:如原有软件功能无法正常运行;
系统被恶意控制:攻击者获得对目标系统的控制权;
信息泄露:重要信息被攻击者获取到。

1.5.2 恶意软件

1.5.2.1 恶意软件的定义

恶意软件”是指那些设计目的是为了实施特定恶意功能的一类软件程序。最典型的恶意软件包括:计算机病毒、特洛伊木马、后门、僵尸、间谍软件、勒索软件等。

1.5.2.2 恶意软件的威胁

已有软件的功能被修改或破坏

  • 恶意软件运行之后,可对同一运行环境中的其他软件进行干扰和破坏,从而修改或破坏其他软件的行为。

目标系统中的重要数据被窃取

  • 恶意软件运行之后,可以浏览、下载目标系统磁盘中的所有文件,甚至对目标系统的键盘击键(如各类系统的登录用户名和口令)进行记录和回传。

目标系统中的用户行为被监视

  • 对目标系统进行屏幕监视、视频监视、语音监听等,这也是目前绝大部分特洛伊木马所拥有的基本功能。

目标系统被控制

  • 在屏幕监视的基础上操控目标系统的键盘和鼠标输入,从而达到对目标进行屏幕控制的目的。

1.5.3 软件破解

软件破解,即通过软件自身程序进行逆向分析,发现软件的注册机制,对软件的各类限制实施破解,从而使得非法使用者可以正常使用软件。

1.6 如何加强软件安全防护

1.6.1 安全设计

强化软件工程思想,将安全问题融入到软件的开发管理流程之中,在软件开发阶段尽量减少软件缺陷和漏洞的数量。

  • 微软:信息技术安全开发生命周期流程(Secure Development Lifecycle for Information Technology,缩写为SDL-IT)。

1.6.2 保障运行环境

保障软件自身运行环境,加强系统自身的数据完整性校验。

  • 软件完整性校验:目前很多安全软件在安装之初将对系统的重要文件进行完整性校验并保存其校验值。
  • 系统完整性校验:目前有些硬件系统从底层开始保障系统的完整性。

1.6.3 加强软件自身行为认证

加强系统自身软件的行为认证——软件动态可信认证:

  • 在确保系统数据完整性的前提下,如何确保软件的行为总是以预期的方式,朝着预期的目标运行,这就是软件动态行为可信问题。

1.6.4 恶意软件检测与查杀

  • 恶意软件是软件安全的一个主要安全威胁来源,针对系统的外来入侵通常都离不开外来恶意软件的支撑。
  • 反病毒软件主要用来对外来的恶意软件进行检测。通常采用病毒特征值检测、虚拟机、启发式扫描、主动防御、云查杀等几种方法来对病毒进行检测。

1.6.5 黑客攻击与防护

  • 防火墙:网络,主机防火墙(如天网、OutPost等)可依据黑客防护策略对进出主机的网络流量进行有效拦截。
  • 入侵检测系统IDS
  • 入侵防护系统IPS:基于网络、基于主机(HIPS)
    基于主机的漏洞攻击阻断技术:EMET

1.6.6 系统还原

系统还原技术的核心思想是将关键系统文件或指定磁盘分区还原为之前的备份状态,从而将已有系统中的恶意程序全部清除,以保护系统安全。

  • Windows自带的“系统还原”功能
  • Ghost还原软件
  • 还原卡、影子系统(PowerShadow)

1.6.7 虚拟隔离

虚拟机(如VmWare)

  • 隔离风险:用户可以通过在不同的虚拟机中分别进行相关活动(如上网浏览、游戏或网银等重要系统登录),从而可以将危险行为隔离在不同的系统范围之内,保障敏感行为操作的安全性。

沙箱,也叫沙盘或沙盒(如SandBoxIE)

  • 隔离风险:在沙箱之中的软件行为及其产生的系统修改是被隔离起来的
  • 常用于运行一些疑似危险样本,从而可以隔离安全威胁,也可用于恶意软件分析。

1.7 本章小结

1.什么是信息安全?信息为什么会存在安全问题?

2.什么是软件安全?软件为什么会存在安全问题?

3.软件面临的具体安全威胁有哪些?

4.什么是软件缺陷和软件漏洞?软件缺陷和漏洞有何区别?软件漏洞是否有可能转变为软件后门,为什么?

5.什么是恶意软件?其对系统安全的具体影响包括哪些?

6.什么是软件逆向工程?请举例分析软件逆向工程的积极意义,以及可能带来的安全隐患。

7.为了保障软件安全,目前典型的防护手段有哪些?

  1. 什么是沙箱与虚拟机?其在软件安全领域有哪些具体应用?

第二章 软件安全基础

2.1 计算机磁盘的管理

硬盘是

  • 控制代码的静态存储仓库:系统引导代码、各类程序与数据等
  • 恶意软件进行控制权争夺的中心

2.1.1 磁盘结构简介

磁盘的三个基本参数:

  • 磁头数(Headers):表示目标扇区所在的硬盘磁头编号,硬盘是由多个盘片组成的,而每个盘片上都有一个读写磁头负责该盘片的读写操作,磁头数最大为255(8个二进制位存储)。每个盘片有两个面,每个面有一个读写磁头。
  • 柱面数(Cylinders):表示目标扇区所在盘片的磁道号,最大为1023(10个二进制存储)。每个盘片的半径均为相同值R的同心圆(磁道)。
  • 扇区数(Sectors):表示目标扇区所在的在磁道扇区号,最大为63(6个二进制存储),每个扇区一般是512个字节。每个磁道被划分为几十个扇区。

硬盘寻址方式:

  • 老式硬盘:每个磁道的扇区数相等,外道的记录密度要远低于内道
  • 当前硬盘:采用“等密度结构”提高硬盘容量,寻址方式采用线性逻辑块寻址,即以扇区为单位进行线性寻址

2.1.2 主引导扇区结构

主引导扇区也就是硬盘的第一个扇区(0面0磁道1扇区):

  • 主引导记录(MBR):前446个字节,存放着系统主引导程序(负责从活动分区中装载并运行系统引导程序)
  • 硬盘主分区表(DPT):占64个字节,记录了磁盘的基本分区信息,四个分区项,每项16字节,分别记录了每个主分区的信息(最多四个主分区)
  • 引导扇区标记(ID):占2个字节,对于合法引导区,它等于0xAA55,判别引导区是否合法。

2.1.3 文件系统

文件系统是操作系统在计算机硬盘存储和检索数据的逻辑方法

2.1.3.1 FAT32文件系统

FAT32文件系统:文件分配表FAT是32位的,逻辑盘被划分为三部分:引导区(BOOT区)、文件分配表(FAT区)、数据区(DATA区)

在这里插入图片描述

2.1.3.2 NTFS文件系统

NTFS是一个功能强大、性能优越的文件系统,它是以簇作为磁盘空间分配和回收的基本单位

2.2 计算机系统引导过程

2.2.1 BIOS的定义

BIOS(Basic Input and Output System):基本输入输出系统

  • 存储在主板BIOS Flas(或ROM)芯片
  • 为计算机提供最底层的、最直接的硬件设置于控制

2.2.2 BIOS引导模式

2.2.2.1 传统BIOS引导

开机→BIOS初始化→POST自检→MBR→DBR→bootmgr(或NTLDR)→读取BCD(或boot.ini)→启动对应的系统

在这里插入图片描述

2.2.2.2 UEFI BIOS引导

UEFI(Unified Extensible Firmware Interface):统一可扩展固件接口,类似于一个低阶操作系统,取消了POST自检,速度快

开机→BIOS初始化→启动管理器(EFI分区bootxxx.efi)→读取BCD→启动对应的系统

在这里插入图片描述

2.3 PE文件格式

PE就是Portable Executable(可移植的执行体),它是Win32可执行文件的标准格式

在这里插入图片描述

2.4 本章小结

1.硬盘主引导区由哪几个部分构成?fdisk/mbr命令会重写整个主引导扇区吗?

2.打开一台计算机,描述从按下Power 键开始计算机每一步所做的具体工作。

6.请比较“删除文件到回收站”与“永久删除文件”的具体技术区别,对于后者,如何手工恢复?请实践。

7.快速格式化、普通格式化以及低级格式化的具体技术区别有哪些?请具体实践和分析。
8.在使用某些数据恢复软件进行数据恢复时,为何恢复.jpg和.doc类文件的成功率要高于.txt类文件?

第三章 软件漏洞利用与防护

3.1 软件漏洞

漏洞,通常也称脆弱性(vulnerability),RFC2828将漏洞定义为“系统设计、实现或操作管理中存在的缺陷或者弱点,能被利用而违背系统的安全策略”。软件漏洞的要素:

  • 受影响的软件版本
  • POC(验证漏洞存在的代码,Proof of Concept)
  • 漏洞触发的条件
  • 攻击能力

3.2 漏洞分类及其标准

3.2.1 漏洞分类

按漏洞可能对系统造成的直接威胁,可分为:

  • 获取访问权限漏洞
  • 权限提升漏洞
  • 拒绝服务攻击漏洞
  • 恶意软件植入漏洞
  • 数据丢失或泄露漏洞

按漏洞的成因,可分为:

  • 输入验证错误
  • 访问验证错误
  • 竞争条件错误
  • 意外情况处理错误
  • 设计错误
  • 配置错误
  • 环境错误

按漏洞的严重性的分级,可分为:

  • A类漏洞(高):远程和本地管理员极限。威胁性最大的漏洞,往往有较差的系统管理或错误设置造成。
  • B类漏洞(中):普通用户权限、权限提升、读取受限文件,以及远程和本地拒绝服务。较为严重的漏洞,例如允许本地用户获得增加的和未授权的访问。
  • C类漏洞(低):远程非授权文件存取、口令恢复、欺骗,以及服务器信息泄露。严重性不是很大的漏洞,例如允许拒绝服务的漏洞。

按照对漏洞被利用方式的分类,可分为:

  • 主动攻击
  • 远程主动攻击
  • 远程被动攻击

3.2.2 软件漏洞产生的原因

3.2.2.1 技术因素

1.输入验证错误:缺少输入验证或输入验证存在缺陷,是造成许多严重漏洞的主要原因。这些漏洞包括缓冲区溢出、SQL注入以及、跨站点执行脚本,常见于web上的动态交互页面,比如ASP页面等。产生输入验证错误漏洞的原因是未对用户提供的输入数据的合法性做充分的检查。原因主要有:

  • 没有在安全的上下文环境中进行验证
  • 验证代码不集中
  • 不安全的组件边界

2.访问验证错误:访问验证错误漏洞的产生是由于程序的访问验证部分存在某些可利用的逻辑错误或用于验证的条件不足以确定用户的身份而造成的。可分为:

  • 会话管理薄弱或缺失
  • 身份鉴别薄弱或缺失
  • 授权薄弱或缺失

3.竞争条件:竞争条件攻击是一种异常行为,是对事件相对紧凑的依赖关系的破坏而引发的,多线程并发访问破坏事件间的依赖关系引发状态的不一致。具备两个必要条件:

  • 有两个或两个以上的事件发生:两个事件间有一定的时间间隔并且有一定的依赖关系
  • 攻击者可以改变两个事件间的依赖关系

4.意外情况处置错误:意外情况处置错误漏洞的产生是由于程序在它的实现逻辑中没有考虑到一些本应该考虑到的意外情况。

5.逻辑设计错误:包含了系统设计和系统实现上的错误,如整数溢出,密码找回。

6.配置错误:配置错误漏洞的产生是由于系统和应用的配置有错误,或者是软件安装在错误的位置,或是参数配置错误,或是访问权限配置错误等。

7.环境错误:是一些由于环境变量的错误或恶意设置而造成的漏洞。

3.2.2.2 非技术因素
  • 缺乏软件开发规范
  • 缺乏进度控制
  • 缺乏安全测试
  • 缺乏安全维护
  • 不稳定的开发团队

3.3 软件漏洞的利用方式

3.3.1 本地攻击模式

本地攻击模式的攻击者是系统本地的合法用户或已经通过其他攻击方法获得了本地权限的非法用户,它要求攻击者必须在本地拥有访问权限,才能发起攻击。

3.3.2 远程主动攻击模式

攻击者通过网络连接目标,利用工具扫描目标,发现漏洞,利用漏洞工具自动植入攻击代码。

3.3.3 远程被动攻击模式

攻击者通过网络给目标发送邮件或者超链接,用户打开网页,点击邮件附件或网页中的文档,触发漏洞。

  • 网页挂马是结合浏览器或浏览组件的相关漏洞来触发第三方恶意软件下载执行的,也是目前危害最大的一种远程被动攻击模式。攻击者通过在正常的网页中插入一段漏洞利用代码。浏览者在打开该页面的时候,漏洞被触发,恶意代码代码被执行然后下载并运行某木马的服务器端程序,进而导致浏览器的主机被控制。

第四章 典型软件漏洞机理分析

4.1 缓冲区溢出漏洞

“缓冲区”是指内存空间中用来存储程序运行时临时数据的一片大小有限并且连续的内存区域。 根据程序中内存的分配方式和使用目的,缓冲区一般可分为栈和堆两种类型。

4.1.1 栈溢出

4.1.2 堆溢出

4.1.3 格式化串漏洞

4.2 Web应用程序漏洞

4.2.1 Web应用安全概述

4.2.2 SQL注入漏洞

4.2.3 跨站脚本(XSS)

4.2.4 跨站请求伪造(CSRF)

4.2.5 其他Web漏洞

第五章 软件漏洞的利用和发现

5.1 Exploit 结构

5.2 漏洞利用的具体技术

5.3 Shellcode开发

5.4 软件漏洞挖掘技术及工具

第六章 Windows 系统安全机制及漏洞防护技术

第七章 构建安全的软件

第八章 恶意代码及其分类

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

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

相关文章

《安富莱嵌入式周报》第337期:超高性能信号量测量,协议分析的开源工具且核心算法开源,工业安全应用的双通道数字I/O模组,低成本脑机接口,开源音频合成器

周报汇总地址:http://www.armbbs.cn/forum.php?modforumdisplay&fid12&filtertypeid&typeid104 视频版: https://link.zhihu.com/?targethttps%3A//www.bilibili.com/video/BV1PT421S7TR/ 《安富莱嵌入式周报》第337期:超高性…

镜子摆放忌讳多

镜子是我们日常生活中不可或缺的物品。在风水中,镜子的作用非常多,能够起到一定的作用。镜子的摆放位置也是非常有讲究的,摆放不好会直接影响到家人的事业、财运、婚姻乃至健康等诸多方面。 第一个风水忌讳,镜子对大门。大门的正前…

开发自定义菜单之创建菜单

文章目录 申请测试账号换取Token接口测试提交自定义菜单查看效果校验菜单配置清空菜单配置结束语 申请测试账号 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?actionshowinfo&tsandbox/index 或 得到appid和secret 换取Token 使用appid和secret换取token令牌…

企业内网开源OA服务器(办公自动化系统),搭建O2OA基于Linux(openEuler、CentOS8)

本实验环境为openEuler系统(以server方式安装)(CentOS8基本一致,可参考本文) 目录 知识点实验下载安装O2OA安装mysql配置O2OA 知识点 “O2OA” 是一个开源的、基于Java的办公自动化(Office Automation)系统。其名称中的“O2OA”…

Linux操作指令大全

目录 🍉引言 🍉 基础命令 🍈pwd 🍈cd 🍈ls 🍈mkdir 🍈rmdir 🍈cp 🍈mv 🍈rm 🍉 文件操作命令 🍈cat 🍈tac …

Web课外练习9

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>邮购商品业务</title><!-- 引入vue.js --><script src"./js/vue.global.js" type"text/javascript"></script><link rel&…

关于微信小程序低功耗蓝牙ECharts实时刷新

最近搞了这方面的东西&#xff0c;是刚刚开始接触微信小程序&#xff0c;因为是刚刚开始接触蓝牙设备&#xff0c;所以这篇文章适合既不熟悉小程序&#xff0c;又不熟悉蓝牙的新手看。 项目要求是获取到蓝牙传输过来的数据&#xff0c;并显示成图表实时显示&#xff1b; 我看了…

【全开源】招聘求职小程序系统源码(ThinkPHP+原生微信小程序)

基于ThinkPHP和原生微信小程序开发的招聘平台系统&#xff0c;包含微信小程序求职者端、微信小程序企业招聘端、PC企业招聘端、PC管理平台端 构建高效人才交流平台 一、引言&#xff1a;招聘求职市场的数字化趋势 在数字化时代&#xff0c;招聘求职市场也迎来了巨大的变革。…

软件杯 题目: 基于深度学习的疲劳驾驶检测 深度学习

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 &#x1f525; 优…

RT-DRET在实时目标检测上超越YOLO8

导读 目标检测作为计算机视觉的核心任务之一&#xff0c;其研究已经从基于CNN的架构发展到基于Transformer的架构&#xff0c;如DETR&#xff0c;后者通过简化流程实现端到端检测&#xff0c;消除了手工设计的组件。尽管如此&#xff0c;DETR的高计算成本限制了其在实时目标检测…

一文了解 - GPS/DR组合定位技术

GPS Global Position System 全球定位系统这个大家都很熟悉&#xff0c; 不做太多介绍。 DR Dead Reckoning 车辆推算定位法&#xff0c; 一种常用的辅助的车辆定位技术。 DR系统的优点&#xff1a; 不需要发射和接收信号&#xff1b; 不受电磁波干扰。 DR系统的缺点&#x…

Leetcode 剑指 Offer II 079.子集

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返…

Java——接口后续

1.Comparable 接口 在Java中&#xff0c;我们对一个元素是数字的数组可以使用sort方法进行排序&#xff0c;如果要对一个元素是对象的数组按某种规则排序&#xff0c;就会用到Comparable接口 当实现Comparable接口后&#xff0c;sort会自动调用Comparable接口里的compareTo 方法…

【Shell】sed编辑器实例

sed是用来解析和转换文本的工具&#xff0c;它使用简单&#xff0c;是简洁的程序设计语言。 sed编辑器 &#xff08;一&#xff09; sed编辑器基础1. 简介2. sed的模式空间 &#xff08;二&#xff09;基本的sed编辑命令&#xff08;三&#xff09;sed命令实例1. 向文件中添加或…

leetcode-189. 旋转数组 原地递归算法(非官方的三种方法)

Problem: 189. 轮转数组 思路 首先&#xff0c;很明显&#xff0c;题目要求的操作等同于将数组的后k%n个元素移动到前面来。 然后我们思考原地操作的方法&#xff1a; &#xff08;为了方便讲解&#xff0c;我们先假设k<n/2&#xff09; 1.我们将数组划分为 [A&#xff0c;B…

MCU最小系统电路设计

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 何为最小系统 最小系统板就是一个最精简的电路&#xff0c;精简到只能维持MCU最基本的正常工作 最小系统包括哪些模块 电源模块 MircoUSB接口 在这个图片当中&#xff0c;我…

ubuntu22.04 vsc命令行复制粘贴时下划线消失

vscode 在ubuntu的terminal中下划线不显示解决方案 CtrlShiftP&#xff0c;打开搜索&#xff0c;Perferences:Open User Settings 设置Editor:Font Family 为 ‘Ubuntu Mono’, monospace 保存&#xff0c;效果如图&#xff1a;

SpringBoot使用rsa-encrypt-body-spring-boot实现接口加解密

废话不多说&#xff0c;直接上代码 引入依赖 <dependency><groupId>cn.shuibo</groupId><artifactId>rsa-encrypt-body-spring-boot</artifactId><version>1.0.1.RELEASE</version> </dependency>配置文件 rsa:encrypt:# 是…

JAVA -- > 初识JAVA

初始JAVA 第一个JAVA程序详解 public class Main {public static void main(String[] args) {System.out.println("Hello world");} }1.public class Main: 类型,作为被public修饰的类,必须与文件名一致 2.public static 是JAVA中main函数准写法,记住该格式即可 …

【how2j java应用】

[Log4j] 演示如何使用log4j进行日志输出 1.导入jar包 2.使用Log4j 3.代码说明 LOG4J 配置讲解 在src目录下添加log4j.properties文件 说明 log4j.xml 除了使用log4j.properties&#xff0c;也可以使用xml格式进行配置。 [junit] 通过main方法来进行测试&#xff1a;如果…