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

windows——病毒的编写

声明

学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

windows基础

我们学习了前面的windows基础语法,我们今天就利用这些简单的语法自主写几个windows小病毒。(测试环境均为windows7)

自启动蓝屏病毒

原理: 杀掉wininit进程并放到开机自启动里面。

创建一个批处理文件(.bat),该文件会在系统启动时自动运行,并尝试强制结束wininit.exe进程。wininit.exe是Windows初始化进程,强制结束它可能会导致系统不稳定或无法启动(蓝屏)。

echo taskkill /im wininit.exe /f >"c:Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\test.bat"

批处理文件: 批处理文件(.bat)是一种简单的脚本文件,包含一系列命令,按顺序执行。

任务管理器命令: taskkill /im wininit.exe /f 是 Windows 任务管理器的命令,用于强制结束指定进程。/im 参数指定进程名称,/f 参数表示强制结束。

启动文件夹: Windows 的启动文件夹包含在系统启动时自动运行的程序和脚本。将批处理文件放置在这里,会导致每次系统启动时自动执行该批处理文件中的命令。

危害

系统不稳定: wininit.exe 是 Windows 初始化进程,负责启动系统的基本服务和驱动程序。强制结束这个进程会导致系统无法正常启动,甚至可能导致系统崩溃。

数据丢失: 由于系统无法正常启动,可能会导致未保存的数据丢失。

安全风险: 这种行为通常与恶意软件相关,可能会被用来隐藏其他恶意操作,如窃取数据、安装后门等。

网络堵塞病毒

原理:利用ping命令大量向网关发包

@echo off 
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4"') do set "ip=%%a"
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "Default Gateway"') do set "gateway=%%a"
:ping_loop 
ping -l 65500 -n 100 %gateway% >nul
goto ping_loop

@echo off

作用: 关闭命令行窗口中命令的回显。通常情况下,在命令提示符中执行命令时, 会显示每条命令本身以及其执行结果(如果有)。使用 @echo off 后,只会 显示命令执行产生的结果(如果结果未被重定向隐藏),而不会显示具体执 行的命令内容,这样可以使命令行窗口输出更加简洁,专注于程序运行的实质效果。

获取ipv4地址的循环部分

for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4"') do set "ip=%%a"

整体功能:ipconfig命令的输出结果中提取本机的IPv4地址,并将其赋值给变量ip

for /f :这是一个用于处理文本文件或命令输出结果等文本流的循环命令。它会逐行读取输入的文本,并根据指定的规则进行处理。

"tokens=2 delims=:":是for /f 命令的参数设置。

tokens :指定要从每行文本中提取的部分(称为 “令牌”)。这里设置 为 2 ,表示提取以:为分隔符的第二段内容。例如,对于一行文本 “IPv4 Address.......... : 192.168.1.100”,它会提取 “192.168.1.100” 这部分。

delims :定义了用于分隔每行文本的字符。这里指定 : 为分隔符,即按 照 : 来划分每行文本,以便确定要提取的 “令牌” 位置。

('ipconfig ^| findstr /i "IPv4"'):这是for /f 命令的输入来源。

ipconfig :是 Windows 系统用于查看网络配置信息的命令,它会输出 本机的网络相关配置,如 IP 地址、子网掩码、默认网关等信息。 ^| :是管道符,用于将 ipconfig 命令的输出传递给下一个命令进行处理。

findstr /i "IPv4" : findstr 是用于在文本中查找指定字符串的命 令,/i参数表示忽略大小写。所以这里是在 ipconfig 的输出结果中查 找包含 “IPv4” 字样的行。

do set "ip=%%a":

do :是 for /f 循环中的执行部分,当在前面找到符合条件的行并提取 到指定的片段(即 tokens=2 所指定的第二段内容)后,就会执行后面的操作。

set "ip=%%a" :将提取到的内容(存储在循环变量 %%a 中)赋值给变 量ip。在批处理文件中,循环变量需要使用双百分号(%%)来表示, 而在命令提示符直接输入时,使用单百分号(%)即可。

获取网关的循环部分

for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "Default Gateway"') do set "gateway=%%a"

整体功能:ipconfig 命令的输出结果中提取本机的默认网关信息,并将其赋值给变量gateway

这部分代码的原理和获取 IPv4 地址的部分基本相同。

同样是通过for /f循环来处理 ipconfig 命令输出经过筛选后的内容。 区别在于这里是在 ipconfig 的输出中查找包含 “Default Gateway” 字样的行 (忽略大小写),然后提取以 : 为分隔符的第二段内容,并将其赋值给变量gateway。

ping循环部分

:ping_loop 
ping -l 65500 -n 100 %gateway% >nul 
goto ping_loop

整体功能: 以指定的参数持续向本机的默认网关发送 ping 请求,形成一个循环操作。

:ping_loop :这是一个自定义的标签,用于标记一个代码块的位置,方便 后面通过 goto 语句跳转到此处,从而实现循环。

ping -l 65500 -n 100 %gateway% >nul:

ping :是 Windows 系统用于测试网络连接的命令。

-l 65500 :指定了发送的 ping 包的大小为 65500 字节。

-n 100 :表示发送 100 次 ping 包。

%gateway% :这里使用了前面获取到的默认网关变量,即向默认网关发 送这些 ping 包。

>nul :是将 ping 命令的输出重定向到空设备,也就是不显示ping命 令执行过程中的输出信息,使命令行窗口不会被大量的 ping 反馈信息刷屏。

goto ping_loop

这行命令会使程序流程无条件跳转到前面定义的 ping_loop 标签处,从 而形成一个循环,不断地执行发送ping包到默认网关的操作。

综上所述 ,这段批处理代码的主要功能是先获取本机的IPv4地址和默认网关信息, 然后持续向默认网关发送大流量(包大小为65500字节)且一定次数(100 次)的 ping 包,并隐藏ping命令的输出信息,以达到某种网络测试或其他相关目的。不过,如果在不合适的场景下持续大量发送ping包可能会对网络造成一定影响,比如占用过多网络资源等。


http://www.mrgr.cn/news/65792.html

相关文章:

  • Redis数据类型深度解析与拓展
  • 23.智能停车计费系统(基于springboot和vue的Java项目)
  • Qt开发技巧(二十二)设置QPA,打开记忆文件,清除表单页注意判断存在性,工程文件去重添加,按钮组的顺序设置,Qt的属性用来传值,查找问题的方法
  • Elasticsearch 实战应用详解!
  • 11.Node.js API接口
  • 分析自动下载电路是如何工作的以及CH340的选型
  • Fish Agent:集成 ASR 和 TTS 的端到端语音处理模型,支持多语言转换
  • 单体架构的 IM 系统设计
  • 【教学类-12-10】20241104《连连看竖版6*6 (3套题目空心图案)中2班
  • 泛微开发修炼之旅--53ecology表单转pdf源码修改相关(表单转pdf时可以修改最后生成的pdf的内容)
  • mysql5安装
  • 数字证书的简单记录
  • 基于SpringBoot司机信用评价的货运管理系统【附源码】
  • Windows无法访问\\192.168.1.156,错误代码0x800704cf
  • 11.4OpenCV_图像预处理习题02
  • Python 继承、多态、封装、抽象
  • 字符串算法
  • Android CCodec Codec2 (十九)C2LinearBlock
  • 【软考】反规范化技术
  • Python 类和对象
  • MeetingMind:AI 会议助手,支持自动转录音频并提取会议中的关键信息
  • 408 计算机组成原理、操作系统:异常和中断的总结
  • GESP4级考试语法知识(计数排序-桶排序)
  • 管易到金蝶销售数据集成全流程详解
  • AI大模型重塑软件开发:从代码自动生成到智能测试
  • AVLTree