中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教关于深山红叶u盘免疫中的一个问题
作者:
标题: 请教关于深山红叶u盘免疫中的一个问题 上一主题 | 下一主题
gdmzzyw
初级用户





积分 46
发帖 18
注册 2006-12-13
状态 离线
『楼 主』:  请教关于深山红叶u盘免疫中的一个问题

他的代码里面有一句
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 [1] 删除当前所有磁盘中的 Autorun 病毒并免疫
echo [2] 删除可移动磁盘中的 Autorun 病毒并免疫
echo [3] 阻止从指定的可移动磁盘直接执行程序
echo [0] 退出
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


2007-9-2 16:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 2 楼』:  

:menumove下面有一个MOVEEXE
估计是他忘了加:D了

2007-9-2 16:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
liu3157551
中级用户





积分 259
发帖 164
注册 2006-9-21
状态 离线
『第 3 楼』:  

好像不太好用哦

2007-9-3 09:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gdmzzyw
初级用户





积分 46
发帖 18
注册 2006-12-13
状态 离线
『第 4 楼』:  

但是一样用啊……
就是不知道怎么回事情……

2007-9-5 16:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: