他的代码里面有一句
if "%choice%"=="3" goto DMOVEEXE
但是他的代码里面没有
:DMOVEEXE
这个到底是怎么一回事,如何阻止从指定的可移动磁盘直接执行程序的?
@echo off
color 2f
title 自动播放类型病毒清除/免疫工具 By 深山红叶
echo.
echo 正在检测系统状态,可能需要几分钟,请稍候……
rem 杀除可能存在的自动运行病毒进程
rem 清除自动加载键值
taskkill /F /IM ctfmon.exe /IM ctfmon.exe /IM SVOHOST.exe /IM AdobeR.exe /IM ravmone.exe /IM wincfgs.exe /IM doc.exe /IM rose.exe /IM sxs.exe /IM autorun.exe /IM KB20060111.exe>nul 2>nul
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v SoundMam /f>nul 2>nul
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v wincfgs /f>nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" /v Load /f>nul 2>nul
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v Load /f>nul 2>nul
rem 清除喜欢利用回收站的移动磁盘自动运行病毒
for %%a 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 (
for %%b in (exe pif com) do echo Y|cacls "%%a:\Recycler\*.%%b" /C /T /P everyone:F>nul 2>nul&echo Y|cacls "%%a:\Recycled\*.%%b" /C /T /P everyone:F>nul 2>nul
(
for %%b in (exe pif com) do del /A /F /S /Q "%%a:\Recycled\*.%%b">nul 2>nul&del /A /F /S /Q "%%a:\Recycled\Recycled\*.%%b"
))>nul 2>nul
Rem 无条件禁止所有磁盘自动运行特性防范自动运行病毒
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveAutoRun /t REG_BINARY /d ffffff03 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\S-1-5-19\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
rem 防止在资源管理器中彻底隐藏文件
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v CheckedValue /t REG_DWORD /d 0x00000001 /f>nul 2>nul
rem 修复可能修改的磁盘打开关联
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2" /f>nul 2>nul
rem 清理并免疫启动组
echo Y|cacls "%USERPROFILE%\「开始」菜单\程序\启动" /C /P everyone:F>nul 2>nul
echo Y|cacls "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" /C /P everyone:F>nul 2>nul
for %%a in (exe pif com) do attrib -s -h -r "%USERPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
for %%a in (exe pif com) do attrib -s -h -r "%ALLUSERSPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
for %%a in (exe pif com) do del /A /F /S /Q "%USERPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
for %%a in (exe pif com) do del /A /F /S /Q "%ALLUSERSPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
echo Y|cacls "%USERPROFILE%\「开始」菜单\程序\启动" /C /P everyone:R>nul 2>nul
echo Y|cacls "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" /C /P everyone:R>nul 2>nul
rem 防止转移启动组位置
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Startup /d "%USERPROFILE%\「开始」菜单\程序\启动" /f>nul 2>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup" /d "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" /f>nul 2>nul
rem 停止并禁用外壳播放事件通知服务
sc stop ShellHWDetection >nul 2>nul
sc config ShellHWDetection start= disabled >nul 2>nul
rem 添加防止从回收站或仿回收站的目录中直接运行可执行文件的策略
set REGPATH=HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths
set SFLAG=/v SaferFlags /t REG_DWORD /d 0x00000000 /f
set IDATA=/f /v ItemData /d "?:\Recyc?
reg add %REGPATH%\{00ffa5bf-abe7-4901-aacf-4f58aa31217a} %SFLAG%>nul
reg add %REGPATH%\{00ffa5bf-abe7-4901-aacf-4f58aa31217a} %IDATA%\*\*\*\*.*">nul
reg add %REGPATH%\{41fe7eed-c47a-46f6-840a-240796fd03cf} %SFLAG%>nul
reg add %REGPATH%\{41fe7eed-c47a-46f6-840a-240796fd03cf} %IDATA%\*\*\*.*">nul
reg add %REGPATH%\{4e93c91c-a40e-462e-9b89-3b0832d222d9} %SFLAG%>nul
reg add %REGPATH%\{4e93c91c-a40e-462e-9b89-3b0832d222d9} %IDATA%\*.*">nul
reg add %REGPATH%\{5bfc100b-d3fb-450e-88ec-6819ab56a9ff} %SFLAG%>nul
reg add %REGPATH%\{5bfc100b-d3fb-450e-88ec-6819ab56a9ff} %IDATA%\*\*\*\*.*">nul
reg add %REGPATH%\{5c5e2bcd-7057-43f4-830c-e4361d2afadd} %SFLAG%>nul
reg add %REGPATH%\{5c5e2bcd-7057-43f4-830c-e4361d2afadd} %IDATA%\*.*">nul
reg add %REGPATH%\{5f8ff865-0638-4c6e-98de-923e7bc6b330} %SFLAG%>nul
reg add %REGPATH%\{5f8ff865-0638-4c6e-98de-923e7bc6b330} %IDATA%\*\*\*.*">nul
reg add %REGPATH%\{649c1429-0e79-453c-abe9-b5682e035ae7} %SFLAG%>nul
reg add %REGPATH%\{649c1429-0e79-453c-abe9-b5682e035ae7} %IDATA%\*\*.*">nul
reg add %REGPATH%\{718f54b2-c669-4d7b-aeff-18d69f100034} %SFLAG%>nul
reg add %REGPATH%\{718f54b2-c669-4d7b-aeff-18d69f100034} %IDATA%\*\*.*">nul
reg add %REGPATH%\{8385d9d2-80c9-4ac1-a100-ed3e62863d97} %SFLAG%>nul
reg add %REGPATH%\{8385d9d2-80c9-4ac1-a100-ed3e62863d97} %IDATA%\*.*">nul
reg add %REGPATH%\{af2a4fcf-441c-421e-9663-52cd3502cfd7} %SFLAG%>nul
reg add %REGPATH%\{af2a4fcf-441c-421e-9663-52cd3502cfd7} %IDATA%\*\*\*.*">nul
reg add %REGPATH%\{b997f4b2-c037-4e97-b051-31f5d86df802} %SFLAG%>nul
reg add %REGPATH%\{b997f4b2-c037-4e97-b051-31f5d86df802} %IDATA%\*\*.*">nul
reg add %REGPATH%\{d4e7b6ff-d76f-407f-b8bb-ea0835f5babc} %SFLAG%>nul
reg add %REGPATH%\{d4e7b6ff-d76f-407f-b8bb-ea0835f5babc} /f /v ItemData /d "RECYC*.*">nul
cls
:menu
cls
echo.
echo 自动运行类型(Autorun)病毒清除工具
echo By 深山红叶
echo.
echo 本程序会无条件清除并免疫当前系统中可能存在的利用自动播放
echo 功能激活加载的病毒。免疫后,每个盘符下如果存在隐藏属性的
echo Autorun.inf 目录并无法删除属于正常现象,是免疫的需要!
echo.
echo 删除当前所有磁盘中的 Autorun 病毒并免疫
echo 删除可移动磁盘中的 Autorun 病毒并免疫
echo 阻止从指定的可移动磁盘直接执行程序
echo 退出
echo.
set /p choice= 请选择(1/2/3/0):
if "%choice%"=="1" goto menuall
if "%choice%"=="2" goto menumove
if "%choice%"=="3" goto DMOVEEXE
if "%choice%"=="0" exit
goto menu
:menuall
for %%a 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 (
fsutil fsinfo drivetype %%a: |find /i "固定" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b" >nul 2>nul
del /a /f /q %%a:\autorun.inf >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b" >nul 2>nul
del /a /f /q %%a:\autorun.inf >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "固定" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b"&md "%%a:\%%b\免疫目录不要删除!...\"&attrib +s +h +r "%%a:\%%b"&echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
del /a /f /q %%a:\autorun.inf&md "%%a:\autorun.inf\免疫目录不要删除!...\"&attrib +s +h +r %%a:\autorun.inf&echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b"&md "%%a:\%%b\免疫目录不要删除!...\"&attrib +s +h +r "%%a:\%%b"&echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
del /a /f /q %%a:\autorun.inf&md "%%a:\autorun.inf\免疫目录不要删除!...\"&attrib +s +h +r %%a:\autorun.inf&echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
) >nul 2>nul
)
cls
echo Autorun 病毒免疫完毕,任意键退出……
pause>nul
goto exit
:menumove
for %%a 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 (
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b" >nul 2>nul
del /a /f /q %%a:\autorun.inf >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b"&md "%%a:\%%b\免疫目录不要删除!...\"&attrib +s +h +r "%%a:\%%b"&echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
del /a /f /q %%a:\autorun.inf&md "%%a:\autorun.inf\免疫目录不要删除!...\"&attrib +s +h +r %%a:\autorun.inf&echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
) >nul 2>nul
)
cls
echo 移动磁盘中的 Autorun 病毒清除并免疫完毕,任意键退出……
pause>nul
goto exit
MOVEEXE
cls
echo.
echo.
echo 移动磁盘程序运行阻止
echo.
echo 注意!!如果禁止从移动设备运行程序,则以后移动设备上的应用程序
echo 必须先拷贝到硬盘的某个临时目录后才能执行!
echo.
echo.
set /p choice= 请输入要阻止运行的盘符(带半角冒号,如 F: 等):
echo %choice%|find "C:"&& goto cerror
if '%SystemDrive%'=='%choice%' goto cerror
echo %choice%|find ":">nul
if not "%errorlevel%"=="0" goto cerror2
fsutil fsinfo drivetype %choice%|find "可移动驱动器">nul
if not "%errorlevel%"=="0" goto cerror3
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths"/s |find "%choice%\*\*.*"&& goto cerror4
rem 设置变量
set REGPATH=HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths
set SFLAG=/v SaferFlags /t REG_DWORD /d 0x00000000 /f
set IDATA=/f /v ItemData /d
set R=%RANDOM%
reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %SFLAG%>nul & reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %IDATA% %choice%\*.*">nul 2>nul
set R=%RANDOM%
reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %SFLAG%>nul & reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %IDATA% %choice%\*\*.*">nul 2>nul
set R=%RANDOM%
reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %SFLAG%>nul & reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %IDATA% %choice%\*\*\*.*">nul 2>nul
set R=%RANDOM%
reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %SFLAG%>nul & reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %IDATA% %choice%\*\*\*\*.*">nul 2>nul
set R=%RANDOM%
reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %SFLAG%>nul & reg add %REGPATH%\{00ffa5bf-abe7-%R%-aacf-4f58aa31217b} %IDATA% %choice%\*\*\*\*\*.*">nul 2>nul
echo.
echo 移动磁盘禁止直接运行程序设置完毕!
echo 任意键返回……
goto menu
:cerror
echo.
echo 不允许对C: 盘进行文件运行阻止免疫!
echo 任意键返回……
pause>nul
goto DMOVEEXE
:cerror2
echo.
echo 必需输入带冒号的完整盘符!比如 F:
echo 任意键返回……
pause>nul
goto DMOVEEXE
:cerror3
echo.
echo 指定的盘符不是可移动介质类型!请重新指定!
echo 任意键返回……
pause>nul
goto DMOVEEXE
:cerror4
echo.
echo 指定的盘符已经被免疫!请不要重复免疫。
echo 任意键返回……
pause>nul
goto DMOVEEXE
:exit