[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [分享]批处理版U盘病毒查杀与防御 1.0 Beta 2

由于学校的电脑病毒横行,特此本人写了一个批处理,可以删除和文件夹同名的exe,和个别的exe。供大家参考参考,大家可以帮忙改进一下,免疫功能已经加入(每次都会免疫,虽然麻烦了点,但是也是为了安全着想),和参考铁甲兵版的注册表修复(每次都会修复,也是处于安全的角度考虑的),更多功能后续加入。批处理本来就应该共享,大家应该把源码顺便贴出来,我的源码如下。
  1. @echo off
  2. title U盘病毒查杀 1.0 Beta 2
  3. echo power by 恒 2009-4-25 编译 &echo.
  4. echo 网址:http://5a83.5d6d.com &echo.
  5. echo 你可以任意修改,但修改版若出现任何问题,本人概不负责,不得用于商业用途。&echo.
  6. ping -n 2 127.1>nul
  7. cls
  8. echo 正在检测您系统中的可移动设备
  9. title U盘设备检测
  10. setlocal enabledelayedexpansion
  11. for /f "skip=1 tokens=1,2 delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
  12.     set genre=%%i
  13.     set genre=!genre:~-2!
  14.     for %%a in (!genre!) do (
  15.         fsutil fsinfo drivetype %%a | findstr "移动" >nul 2>nul && if /i not "%%a"=="A:" (
  16.             set 5a83.5d6d.com=%%a
  17.             echo.
  18.             echo 找到可移动存储设备, 盘符为%%a  。
  19.             echo.
  20.             echo 正在处理U盘隐藏文件,请等待...
  21.             echo.
  22.             !5a83.5d6d.com!
  23.             cd\
  24.             attrib /s/d -r -h -s -a *.* >nul 2>nul
  25.             call :kill
  26.         )
  27.     )
  28. )
  29. cls
  30. title 未发现U盘(warning)
  31. color fc
  32. echo 检测完毕!没有检测到U盘存在!本程序即将退出!
  33. echo 网址:http://5a83.5d6d.com
  34. ping -n 4 127.1>nul
  35. goto :thanks
  36. :kill
  37. title U盘病毒查杀(当前位置!5a83.5d6d.com!盘)
  38. echo 当前位置 !5a83.5d6d.com!盘,请你确认!这个是你的U盘的位置。(后果自负)
  39. ping -n 3 127.1>nul
  40. cls
  41. echo 正在清除病毒文件,请稍等...&echo.
  42. for /f "delims=" %%i in ('dir /b /s /ad "!dirve!"') do (
  43. echo 已清理:  %%i\%%~ni.exe>>U盘查杀记录.txt 2>nul
  44. del /q /f "%%i\%%~ni.exe"
  45. del /q /f ntdelect.com
  46. del /q /f RECYCLER.exe
  47. del /q /f Recycled.exe
  48. del /q /f EXPLORER.exe
  49. del /q /f autorun.exe
  50. del /q /f autorun.inf..txt
  51. )
  52. echo.&echo 清除完毕! &echo.
  53. echo 准备修复注册表
  54. ping -n 1 127.1>nul
  55. set in=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  56. set on="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
  57. set at=HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache
  58. reg delete %at%\ /v C:\WINDOWS\system32\XP-F84AA1B5.EXE /f
  59. reg delete %in%\ /v XP-F84AA1B5 /f
  60. reg delete %in%\ /v C:\WINDOWS\system32\XP-F84AA1B5.EXE /f
  61. reg delete %in%\ /v XP-D89C5E64 /f
  62. reg delete %in%\ /v XP-F84AA1B5.EXE /f
  63. reg delete %in%\ /v XP-D89C5E64.EXE /f
  64. reg delete %in%\ /v XP-23520AE1.EXE /f
  65. reg add %on% /v Hidden /t reg_dword /d 1 /f
  66. reg add %on% /v HideFileExt /t reg_dword /d 0 /f
  67. reg add %on% /v ShowSuperHidden /t reg_dword /d 1 /f
  68. del "%USERPROFILE%\「开始」菜单\程序\启动\*.*" /q /f
  69. cls &echo.
  70. echo 修复完成 &echo.
  71. echo 准备建立免疫文件。&echo.
  72. ping -n 3 127.1>nul
  73. goto Anti
  74. :Anti
  75. cls
  76. title U盘病毒免疫
  77. echo.
  78. echo 正在创建免疫文件夹...
  79. for %%c 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 (
  80. if exist %%c:\autorun.inf del /f/s/q/a %%c:\autorun.inf
  81. md %%c:\autorun.inf
  82. attrib +r +a +s +h %%c:\autorun.inf
  83. md %%c:\autorun.inf\WilliamBill.....\
  84. ) >nul 2>nul
  85.    echo.
  86.    echo.
  87. )
  88. echo 免疫文件夹成功创建,病毒成功查杀,你可以进入你U盘下的查杀记录查看。 & echo.
  89. echo 完成U盘杀毒,和U盘免疫。本程序准备退出。
  90. ping -n 4 127.1>nul
  91. goto :thanks
  92. :thanks
  93. @ echo msgbox "谢谢你的使用——Power by 恒">msg.vbs
  94. @msg.vbs
  95. del msg.vbs
  96. exit
复制代码
================
更新历史
================
4月27日 加入免疫功能(对全部盘进行免疫)。加入注册表修复功能,加入进程结束功能。全自动化操作!taskkill结束进程方式改为 ntsd
================
5月3日 去除结束进程功能(ntsd弹窗烦人,taskkill有些机子不能用,像我的winxp home 版的就不行。),改进注册表值的删除等。
================
由于附件的限制,请把UVkiller.txt改成UVkiller.bat 运行!

请各位帮我看看
for %%b in (fun.exe dc.exe ds.exe XP-D89C5E64.exe XP-F84AA1B5.exe XP-23520AE1.exe) do if exist %%b ( taskkill /f /im %%b
)
这个代码行不行!

TOP

1、其实没必要去检测存不存在进程;不存在时,最多会有错误提示,屏蔽掉即可。

2、注册表部分,还是引进一些变量好些吧,整个路径很长,又很多重复部分,引进变量会使整个代码看起来简洁整齐很多。

3、多用for,精简代码

4、功能中最重要一点,用taskkill或NTSD不能保证能够结束掉病毒进程,因为病毒进程往往不止一个,而且这些进程之间相互监控,一旦发现对方被结束即调用对方,而病毒进程未结束,则何谈删除病毒文件?因此,这里单独运行的taskkill或NTSD可能无法解决此病毒问题。个人建议:在结束病毒进程的同时删除病毒体 (慎重)...

TOP

回复 5楼 的帖子

具备病毒几大特征的都应该叫病毒,而不是取决于它是否能用哪种方法杀掉。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4楼 的帖子

言之有理,但是这个注册表的变量我还是不知道应该怎么写,如果结束进程还有同时删除病毒文件的话,应该用什么命令获得病毒的路径呢?

TOP

回复 3楼 的帖子

恩,谢谢!我还是个新手,写这个东西我想了很久了。就是为了帮老师杀掉这些可恶的U盘病毒呵呵!

TOP

回复 7楼 的帖子

意思是把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run这种重复出现的路径赋值给一个变量,然后reg delete的时候用那个变量就行了。你可以根据自己的风格来决定是否采取这个方法。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9楼 的帖子

哦,懂了,用 set行吗?

TOP

回复 10楼 的帖子

就是用set
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11楼 的帖子

哦!下一个版本改进!

TOP

回复 3楼 的帖子

哥们你这段也不行耶。。。

TOP

回复 14楼 的帖子

呵呵,我还没看出来嘛。

TOP

我是新手   能不能把你们改完的    加强完的   重新写一下这个批处理呢
我想用。。。

TOP

我使用后不能找到U盘?为何??
另外,求教这个批处理是如何自动寻找U盘的啊???

TOP

返回列表