U盘脚本病毒的实现

本文详细介绍了U盘病毒利用autorun.inf文件的原理,探讨了病毒如何通过批处理和脚本文件躲避查杀,同时涵盖了autorun.inf文件的结构及其在不同系统中的应用。重点讲解了如何理解和防范这些病毒,尤其是在Win7环境下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在win7及上运行不出来,可以在xp虚拟机上实验。

实际上所谓的“u盘病毒”大多数利用一个自己构造的“autorun.inf”文件其最终目的是当用户插入u盘时自动运行恶意的二进制文件,而在windows下可以直接被执行的后缀名为".exe"和“.com”两种。通常,病毒制作者会使用一个批处理文件来调用恶意二进制文件,“U盘脚本病毒”其中的"脚本"可以是批处理文件,也可以是依赖某个“白进程”的脚本文件比如“nodejs”,以此来达到躲避杀毒软件查杀的目的。

autorun.inf文件是从Windows 95开始的,最初用在其安装盘里,实现自动安装,以后的各版本都保留了该文件并且部分内容也可用于其他存储设备。

其结构有三个部分:[AutoRun] [AutoRun.Alpha] [DeviceInstall]

[AutoRun]适用于Windows95以上系统与32位以上CD-ROM,必选。

[AutoRun.alpha]适用于基于RISC的计算机光驱,适用系统为Windows NT 4.0,可选。

[DeviceInstall]适用于Windows XP以上系统,可选。

详解格式

DefaultIcon

含义:指定应用程序的默认图标。

DefaultIcon=图标路径名[,序号]

参数:

图标文件名:应用程序的默认图标路径名,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。

序号:当文件格式为.exe和.dll时 ,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。

备注:

应用程序的默认图标将在windows

explorer核心的驱动显示窗口中 替代设备的默认图标来显示。

图标路径名的默认目录是设备根目录

Icon

含义:指定设备显示图标。

格式:

Icon=图标路径名[,序号]

参数:

图标文件名:应用程序的默认图标路径名 ,格式可以为.ico、.bmp、.exe、.dll。当文件格式为.exe和.dll时,有时需要使用序号来指定图标。

序号:当文件格式为.exe和.dll时,文件可能包括多余一个图标,此时需要使用序号来指定图标,需要注意的是,序号是从0开始的。

备注:

设备显示图标将在windows

explorer核心的驱动显示窗口中替代设备的默认图标来显示。

图标路径名的默认目录是设备根目录

当存在应用程序默认图标(DefaultIcon)时,本命令无效。

Label

含义:指定设备描述

格式:

Label=描述

参数:

描述:任意文字,可以包括空格。

备注:

设备描述将在windows explorer核心的驱动显示窗口中替代设备的默认描述卷标来显示。

在非windows explorer核心的驱动显示窗口中(例如右击设备选择属性)显示的仍然是设备的卷标

Open

含义:指定设备启用时运行之命令行。

格式:

Open=命令行

(命令行:程序路径名 [参数])

参数:

命令行:自动运行的命令行,必须是.exe、.com、.bat 文件,其他格式文件可以使用start.exe打开或使用ShellExecute命令。

备注:

命令行的起始目录是设备根目录和系统的$Path环境变量

ShellExecute

含义:

指定设备启用时执行文件。(操作系统支持未知)

格式:

ShellExecute=执行文件路径名 [参数]

参数:

执行文件路径名:设备启用时执行文件路径名。可以是任意格式文件。系统会调用设置的程序执行此文件。

参数:参数,根据执行文件作调整

备注:

命令行的起始目录是设备根目录和系统的$Path环境变量。

Shell\关键字\Command

含义:

定义设备右键菜单执行命令行。

格式:

Shell\关键字\Command=命令行

(命令行:程序路径名 [参数])

参数:

命令行:自动运行的命令行,必须是.exe、.com、.bat文件,其他格式文件可以使用start.exe打开。

备注:

命令行的起始目录是设备根目录和系统的$Path环境变量。

Shell\关键字

含义:定义设备右键菜单文本

格式:

Shell\关键字=文本

参数:

关键字:用以标记菜单,可以使用任何字符表示,包括空格。

文本:在右键菜单中显示的文本。可以使用任何字符,不能存在空格。

备注:

在同一Autorun.inf文件中,不同右键菜单关键字不同,相同右键菜单关键字相同。

右键菜单文本中可以使用&;设定加速键,&&;输出一个&。

Shell关键字Command命令Shell关键字两者缺一不可,顺序无所谓。

当不存在Open、ShellExecute与Shell命令时,设备启用时运行第一个设备右键菜单指定命令。

Shell

含义:定义设备启用时运行之设备右键命令。

格式:

Shell=关键字

参数:

关键字:标记过的菜单关键字

备注:

Shell指定的关键字可以在AutoRun.inf文件的任意部分。

Open、ShellExecute、Shell命令后定义的优先级高。

action

这个命令用来定义程序的名字,比方说:

[autorun]

shellexecute=rundll32 ght

action=打开文件夹

那么在右键菜单显示的就是"打开文件夹",而执行的命令就是"rundll32 ght"

注释

与其他inf文件一样,";"之后的内容会被当做注释,不参与编译.

主要代码示例:

[AutoRun]
Open=Setup.exe
Shell\sys0=浏览《自述文件》
Shell\sys0\command=Notepad Readme.txt
Shell\sys1=安装《DirectX9.0》ForWin9x/Me/2K/Xp
Shell\sys1\command=DirectX\dxsetup.exe
Shell\Autorun_2=&Install DirectX9.0
Shell\Autorun_2\command=DirectX\dxsetup.exe

open可以是一个程序或者批处理文件,总之是想运行的一个东西,里面的操作就可以随便怎么写,来实现对文件个系统设置的一些操作了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值