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

安全见闻4

今天学了Windows操作系统和驱动程序的相关知识

Windows注册表

 注册表是windows系统中具有层次结构的核心数据库

储存的数据对windows 和Windows上运行的应用程序和服务至关重要。注册表时帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。

打开注册表编辑器

WIN+R 输入—>regedit

注册表结构

注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织起来的,就像磁盘文件系统的目录结构一样。

每个键包含一组特定的信息,每个键的键名都是和它所包含的信息相关联的。注册表的根键共有5个,且全为大写。

可以通过编辑器完成开机自启动

注册表安全

影子用户

除了注册表里的文件,其他地方都不能查看到admin$的文件,无论管理员账号密码如何更改,都可以用改影子账户完成登陆和远程登陆。

映象劫持
注册表远程登陆

在线恶意文件检测平台

VirSCAN:https://www.virscan.org/language/zh-cn/

腾讯哈勃分析系统:https://habo.qq.com

魔盾安全分析:https://www.maldun.com/submit/submit_file/

微步在线云沙箱:https://s.threatbook.cn/

Jotti的恶意软件扫描系统:https://virusscan.jotti.org/

Falcon Sandbox:https://www.hybrid-analysis.com/

VirusTotal:https://www.virustotal.com/gui/home

奇安信文件深度分析平台:https://sandbox.ti.qianxin.com/

ScanVir:http://www.scanvir.com/

windows防火墙

Windows防火墙是操作系统中至关重要的安全组件,它可以有效地防止未经授权的访问和潜在的安全威胁。

windows计划任务

计划任务是系统的常见功能,利用任务计划功能,可以将任何脚本、程序或文档安排在某个最方便的时间运行。任务计划在每次系统启动的时候启动并在后台运行。
当我们需要在服务器上定时执行一些重复性的事件时使用的,可以通过计划任务程序来运行准备好的脚本、批处理文件夹、程序或命令,在某个特定的时间运行。
可以在任务计划程序窗口写入任务计划程序

打开任务计划程序窗口

方式一:控制面板–>windows工具–>任务计划程序
方式二:运行窗口或者撞断面板执行如下命令:Taskschd.msc
Windows10系统的任务计划程序窗口如下:

这个计划任务可以提权,到管理员权限,使用最高权限运行即可

如果是执行cmd脚本

    说明:可以直接选择到具体路径就行,最好的保证能执行脚本的方法如下
    路径:输入 cmd
    添加参数:输入要执行的脚本路径,如c:\aa.bat
    起始于:选择这个程序的执行的路径,一般会选择到该程序所在的目录,确保执行的时候,里面会调用到同目录文件,可以顺利调用

如果是执行powershell

    说明:很多powershell脚本添加后是无法执行的,只能通过先打开powershell,然后把脚本当做一个参数输入,才能顺利打开
    路径:输入powershell
    添加参数:输入要执行的脚本路径,如:c:\aa.ps1
    起始于:选择这个程序的执行的路径,一般会选择到该程序所在的目录,确保执行的时候,里面会调用到同目录文件,可以顺利调用

Windows事件日志

Windows事件日志是Windows操作系统中的一个重要组件,它记录了系统、应用程序和安全相关的活动。通过这些日志,管理员可以监控系统的健康状况、诊断问题以及检测潜在的安全威胁。

定义与功能

事件日志为操作系统及关联的应用程序提供一种标准化、集中式记录重要软件及硬件信息的方法。这些事件包括有关Windows组件和已安装应用程序的信息、警告和错误消息。事件日志可以为IT运维、开发运维和安全运维团队提供丰富的信息,帮助他们了解系统发生了什么,例如系统崩溃、恶意活动发生或基础设施故障等。

Windows内核驱动

驱动分类以及简单介绍
NT (Windows NT)
  • 定义:Windows NT 是 Microsoft 开发的一系列操作系统的基础架构,首次发布于 1993 年。它是 Windows 操作系统的内核,支持多种硬件平台。

特点:

    多用户和多任务:Windows NT 支持多用户和多任务处理,允许多个用户同时使用系统。
    安全性:提供了强大的安全模型,包括用户权限和访问控制。
    可移植性:设计上支持多种硬件架构,如 x86、x64、ARM 等。
    模块化:操作系统的设计允许各种组件独立

版本:Windows NT 系列包括多个版本,如 Windows NT 3.1、Windows NT 4.0、Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10 和 Windows 11。

WDM (Windows Driver Model)

    定义:WDM 是 Microsoft 提出的一个驱动程序模型,旨在为 Windows NT 系列操作系统提供统一的驱动程序接口。
    特点:
        统一接口:WDM 提供了一种标准化的接口,使得开发人员可以为多种类型的设备编写驱动程序,而无需为每种设备类型编写不同的代码。
        支持多种设备类型:WDM 驱动程序可以支持各种设备,包括 USB、PCI、SCSI 和其他类型的硬件。
        电源管理:WDM 还内置了电源管理功能,允许驱动程序有效管理设备的电源状态。
        兼容性:WDM 驱动程序能够在多个 Windows 版本上运行,增加了设备的兼容性。

KWDF (Kernel-Mode Driver Framework)

    定义:KWDF 是一种内核模式驱动程序框架,旨在帮助开发人员创建和管理 Windows 内核模式驱动程序。
    特点:
        提供了一个高层次的 API,简化了驱动程序的开发。
        支持多种设备类型,包括 USB、PCI、SCSI 和其他硬件设备。
        处理常见的驱动程序任务,如设备 I/O、设备创建和销毁、以及电源管理。
        提供了事件和回调机制,以处理硬件事件。
    使用场景:适用于需要直接与硬件交互并在内核模式下运行的驱动程序。

UWDF (User-Mode Driver Framework)

    定义:UWDF 是一种用户模式驱动程序框架,允许驱动程序在用户模式下运行,从而提高系统的稳定性和安全性。
    特点:
        允许驱动程序在用户模式中执行,减少内核模式驱动程序的复杂性。
        提供了与 KWDF 类似的 API,但专为用户模式设计。
        在用户模式下运行的驱动程序可以更容易地进行调试和测试。
        适合于较低复杂度的设备驱动程序,例如某些 USB 设备。
    使用场景:适用于不需要直接与硬件交互或对性能要求不高的驱动程序。

总结:
NT是原生的核心架构,而WDM是基于NT衍生出的驱动开发框架,可以兼容多个NT版本
KWDF和UWDF是属于高度封装的一个框架,不直接接触到原生的API,为了方便驱动程序的开发而设计的

windows系统服务

什么是服务:可以在计算机启动时自动启动,可以暂停和重新启动的而且不显示任何用户界面。
1、可以用services.msc打开可视化界面进行查看和管理,也可以用CMD命令行进行操作。

服务安全

    1、服务是一种允许用户执行各种任务和管理功能的机制,然而也带来安全威胁。
    2、例如:特权升级、远程代码执行、信息泄漏、恶意软件传播。
    3、处于安全考虑,我们要时刻关注运行的服务,是有陌生的服务运行,发现及时禁用掉。
    4、导出运行的服务列表,及时作对比,看是否有增加。
    5、攻击者很可能会将恶意代码或程序伪装成服务运行。

Windows进程线程

进程和线程的区别:

    关系:进程包含线程。
    根本区别:进程是系统分配资源的最小单位;线程是系统调度CPU执行的最小单位。
    存储:多个进程的内存是隔离开的,一个进程中的多个线程可以共享内存。
    开销:线程的创建、销毁的代价都比进程小。即 进程的状态转换 开销大于线程。
    线程(假如有bug)可能会导致整个进程挂掉无法运行;而 进程间是独立运行的(也可能存在进程通信)
    操纵者不同:进程的操纵者是操作系统(OS);线程的操纵者一般是程序员。

    拥有资源不同:每个进程有自己的内存和资源,一个进程中的线程会共享这些内存和资源。

    CPU利用率不同:进程的CPU利用率较低,因为上下文切换开销较大,而线程的CPU的利用率较高,上下文的切换速度快。

什么是进程?——Process

  每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运 行,所有的硬件资源都被这个程序在使用。这种假象是通过抽象了一个进程的概念来完成的,进程可以说是计算机科学中最重要和最成功的概念之一。 进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程; 同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。

    进程是系统分配资源的最小单位。
    操纵者:进程是由操作系统创建及管理的。(操作系统管理进程:(1)先创建一个PCB结构体——>用于 描述进程信息;(2)把多个进程PCB结构体,通过一定的数据结构组织起来)
    系统对进程的调度:主要以 时间片轮转调度算法(一个CPU以时间片轮转调度的方式,依次执行多个进程)
    进程的状态:创建状态、就绪状态、运行状态、阻塞状态、终止/销毁状态。

    程序 和 进程

    ·   程序是在一个静态磁盘上的一个可执行文件。

    ·   进程是动态的,将可执行文件加载到系统中。加载就是将信息放在内存中,分配一些资源,并且执行程序中所有指令。

进程的存储—虚拟地址空间:

    进程不直接使用物理内存,而是使用虚拟地址空间;
    虚拟内存空间 里面里面是使用 分页式存储管理(页-Page-类似于书页目录)

    PCB结构体:

    (1)PID:进程ID,是进程的唯一身份标识(类似于数据库 主键,唯一性),但是它不是固定不变的,是每次启动进程时动态分配的。

    (2)进程状态:5个。

    (3)内存指针:进程内存地址

    (4)资源清单:io设备,(硬件设备),硬盘文件

            文件描述符表:定位硬盘中的文件,包括 默认创建三个文件描述符(输入输出):类似于java中的System.out(标准输出) 、 System.err(错误输出) 、System.in(标准输入)。

    (5)调度信息:进程执行了多少代码,等待了多久.....

    (5)上下文:保存本次的执行状态,以便下次执行。

三、什么是线程?——Thread
  一个线程就是一个 " 执行流 ". 每个线程之间都可以按照顺讯执行自己的代码 . 多个线程之间 " 同时 " 执行着多份代码。线程是操作系统能够进行运算调度的最小单元。它被包含在进程中,是进程中实际运行的单位。一个进程中可以并发多个线程,每个线程执行不同的任务 。

    线程是系统调度CPU执行的最小单位。
    操纵者:线程的操纵者一般是编程人员。
    Java线程的状态:创建状态、可运行状态、等待状态、超时等待状态、阻塞状态、销毁状态。

    线程比进程更轻量级。所以虽然多进程也可以并发,也选择多线程。

    线程的优势:(1)创建线程比创建进程更快;(2)销毁线程比销毁进程更快;(3)调度线程比调度进程更快


Windows系统编程

Windows系统编程是指在微软的Windows操作系统上开发应用程序的过程。Windows提供了大量的API(应用程序接口),这些API允许开发者访问系统的底层功能,如文件操作、网络通信、图形界面等。本篇文章将为初学者提供一个Windows编程的基础框架,包括所需工具、开发环境配置以及一些基本的编程概念。

理解Windows API

Windows API是一组函数的集合,它们为开发者提供了与操作系统交互的方式。通过这些API,你可以执行诸如创建窗口、读写文件等操作。
2. 使用MSDN文档

微软官方的MSDN文档是学习Windows API的最佳资源之一。这里不仅有详细的函数说明,还有使用示例和注意事项。

学习图形用户界面(GUI)编程

GUI编程是Windows应用开发的重要组成部分。了解如何使用MFC(Microsoft Foundation Classes)或WPF(Windows Presentation Foundation)等框架来创建美观且功能丰富的用户界面。

相关文章:

安全见闻4

今天学了Windows操作系统和驱动程序的相关知识 Windows注册表 注册表是windows系统中具有层次结构的核心数据库 储存的数据对windows 和Windows上运行的应用程序和服务至关重要。注册表时帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。 打开注册表编辑器…...

项目实战--网页五子棋(匹配模块)(4)

上期我们完成了游戏大厅的前端部分内容,今天我们实现后端部分内容 1. 维护在线用户 在用户登录成功后,我们可以维护好用户的websocket会话,把用户表示为在线状态,方便获取到用户的websocket会话 package org.ting.j20250110_g…...

P8716 [蓝桥杯 2020 省 AB2] 回文日期

1 题目说明 2 题目分析 暴力不会超时&#xff0c;O(n)的时间复杂度&#xff0c; < 1 0 8 <10^8 <108。分析见代码&#xff1a; #include<iostream> #include<string> using namespace std;int m[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};// 判断日期…...

如何在视频中提取关键帧?

在视频处理中&#xff0c;提取关键帧是一项常见的任务。下面将介绍如何基于FFmpeg和Python&#xff0c;结合OpenCV库来实现从视频中提取关键帧的功能。 实现思路 使用FFmpeg获取视频的关键帧时间戳&#xff1a;FFmpeg是一个强大的视频处理工具&#xff0c;可以通过命令行获取…...

為什麼使用不限量動態住宅IP採集數據?

在瞭解“不限量動態住宅IP數據採集”之前&#xff0c;我們需要先搞清楚什麼是“動態住宅IP”。簡單來說&#xff0c;動態IP是一種會定期變化的IP地址&#xff0c;通常由互聯網服務提供商&#xff08;ISP&#xff09;分配給家庭用戶。與固定IP&#xff08;靜態IP&#xff09;不同…...

Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用

在Go中使用Viper将YAML配置绑定到结构体时&#xff0c;主要依赖 mapstructure 标签&#xff08;而非 json 或 yaml 标签&#xff09;实现字段名映射。 --- ### 1. **基础绑定方法** 使用 viper.Unmarshal(&config) 或 viper.UnmarshalKey("key", &subConfi…...

OpenIPC开源FPV之Adaptive-Link安装

OpenIPC开源FPV之Adaptive-Link安装 1. 源由2. 介绍2.1 天空端安装2.2 地面端安装 3. 问题汇总3.1 安装脚本问题3.2 网络安装问题3.3 非SSC30KQ/SSC338Q硬件3.4 代码疑问 4. 总结5. 后续 1. 源由 鉴于飞行过程&#xff0c;发现一些马赛克现象&#xff0c;且60FPS桌面30FPS的录…...

[杂学笔记]OSI七层模型作用、HTTP协议中的各种方法、HTTP的头部字段、TLS握手、指针与引用的使用场景、零拷贝技术

1.OSI七层模型作用 物理层&#xff1a;负责光电信号的传输&#xff0c;以及将光电信号转化为二进制数据数据链路层&#xff1a;主要负责将收到的二进制数据进一步的封装为数据帧报文。同时因为数据在网络中传递的时候&#xff0c;每一个主机都能够收到报文数据&#xff0c;该层…...

RK3568开发笔记-AD7616调试笔记

目录 前言 一、AD7616介绍 高分辨率 高速采样速率 宽模拟输入范围 集成丰富功能 二、原理图连接 三、设备树配置 四、内核驱动配置 五、AD芯片测试 总结 前言 在嵌入式数据采集领域,将模拟信号精准转换为数字信号至关重要。AD7616 作为一款性能卓越的 16 位模数转换器…...

Unity摄像机与灯光相关知识

一、Inspector窗口 Inspector窗口可以查看和编辑对象的属性以及设置 其中包含各种组件&#xff0c;例如用Cube对象来举例 1.Sphere(Mesh)组件&#xff1a; 用来决定对象的网格属性&#xff0c;例如球体网格为Sphere、立方体网格为Cube 2.Mesh Renderer组件&#xff1a; 用来设置…...

AI前端革新金融风控:ScriptEcho助力高效开发

1. 引言&#xff1a;金融风控的挑战与前端效率需求 在当今快速变化的金融环境中&#xff0c;风险评估和反欺诈已成为金融机构运营的核心。金融风控不仅关乎企业的盈利能力&#xff0c;更直接影响着整个金融体系的稳定。一个强大的风控系统需要能够实时监控、分析并预测潜在的风…...

STM32--SPI通信讲解

前言 嘿&#xff0c;小伙伴们&#xff01;今天咱们来聊聊STM32的SPI通信。SPI&#xff08;Serial Peripheral Interface&#xff09;是一种超常用的串行通信协议&#xff0c;特别适合微控制器和各种外设&#xff08;比如传感器、存储器、显示屏&#xff09;之间的通信。如果你…...

CryptoJS库中WordArray对象支持哪些输出格式?除了toString() 方法还有什么方法可以输出吗?WordArray对象的作用是什么?

前言&#xff1a;这里只说js用的CryptoJS库里的相关内容&#xff0c;只用js来进行代码操作和讲解。 这里网上相关的帖子很少&#xff0c;不得已问了很长时间AI 想引用CryptoJS库情况分两种&#xff0c;一种是html引用&#xff0c;另一种是在Nodejs里引用。 一、引用CryptoJS库…...

第六次作业

一.对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 。 LVS-NAT模式的优势 配置简单&#xff1a;NAT模式的配置相对容易&#xff0c;无需复杂的网络设置&#xff0c;适合初学者和小型网络环境。 网络架构灵活&#xff1a;由于使用了NAT技术&#xf…...

八、Spring Boot:RESTful API 应用

创建第一个 Spring Boot RESTful API 应用 在现代 Web 开发中&#xff0c;RESTful API 是一种非常流行的设计风格&#xff0c;它基于 HTTP 协议&#xff0c;提供了简单、灵活的方式来构建网络应用。Spring Boot 作为一款强大的微服务框架&#xff0c;提供了丰富的工具和支持&a…...

Pytorch实现之混合成员GAN训练自己的数据集

简介 简介:提出一种新的MMGAN架构,使用常见生成器分布的混合对每个数据分布进行建模。由于生成器在多个真实数据分布之间共享,高度共享的生成器(通过混合权重反映)捕获分布的公共方面,而非共享的生成器捕获独特方面。 论文题目:MIXED MEMBERSHIP GENERATIVE ADVERSARI…...

微信小程序网络请求与API调用:实现数据交互

在前几篇文章中,我们学习了微信小程序的基础知识、数据绑定、事件处理以及页面导航与路由。这些知识帮助我们构建了具备基本交互功能的小程序。然而,一个完整的应用通常需要与服务器进行数据交互,例如获取用户信息、提交表单数据等。本文将深入探讨微信小程序的网络请求与AP…...

Cramér-Rao界:参数估计精度的“理论底线”

Cramr-Rao界&#xff1a;参数估计精度的“理论底线” 在统计学中&#xff0c;当我们用数据估计一个模型的参数时&#xff0c;总希望估计结果尽可能精确。但精度有没有一个理论上的“底线”呢&#xff1f;答案是有的&#xff0c;这就是Cramr-Rao界&#xff08;Cramr-Rao Lower …...

nv docker image 下载与使用命令备忘

1&#xff0c;系统需求 Requirements for GPU Simulation GPU Architectures Volta, Turing, Ampere, Ada, Hopper NVIDIA GPU with Compute Capability 7.0 CUDA 11.x (Driver 470.57.02), 12.x (Driver 525.60.13) Supported Systems CPU architectures x86_64, ARM…...

C#连接sql server

连接时&#xff0c;出现如下提示&#xff1a; ERROR [IM014] [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中&#xff0c;驱动程序和应用程序之间的体系结构不匹配 原因是odbc的驱动和应用程序的架构不一致。我的odbc如下所示&#xff1a; 显示为64位&#xff0c;而c#程序显…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...