中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创它山之石,可以攻玉,看我怎么对付AUTORUN.INF病毒!!!
« [1] [2] »
作者:
标题: [原创它山之石,可以攻玉,看我怎么对付AUTORUN.INF病毒!!! 上一主题 | 下一主题
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『楼 主』:  [原创它山之石,可以攻玉,看我怎么对付AUTORUN.INF病毒!!!

自己写了个移动介质的程序!!本程序目前只支持瑞星,卡巴,光华,金山,诺顿等,
本程序一个新意就是可以自己保护自己!!嘿嘿!!
本程序尚不完善,望各位大虾不赐指教!!
:王氏软件
@echo off
:lotus516于5月7日于bbs.cn-dos.net
:v1.0.0.0
title MP3/MP4自动免疫病毒程序------王氏精工出品
mode con cols=80 lines=31&color fc
:loop
setlocal enabledelayedexpansion
for /f %%i in ('dir /a-d /b autorun.inf') do set /a inf=%%~zi
if not "!inf!" == "54" (
attrib -r -s -h autorun.inf 2>nul&&del autorun.inf /q /f 2>nul
echo [autorun]>autorun.inf
echo shellexecute=..\杀毒.bat>>autorun.inf
echo icon=王泽芝.bmp>>autorun.inf
attrib +r +s +h autorun.inf
)
for /f %%i in ('dir /a-d /b 杀毒.bat') do set /a bat=%%~zi
if "!bat!" == "9701" (if not exist sys.sys goto :bak) else set num=2
if not exist 保护.cmd (
attrib +r +s +h 杀毒.bat
echo @echo off>保护.cmd
echo echo 正在运行请等待!!>>保护.cmd
echo ping 127.1 -n 10 ^>nul>>保护.cmd
echo attrib -r -s -h 杀毒.bat>>保护.cmd
echo attrib -r -s -h sys.sys>>保护.cmd
echo copy /y sys.sys 杀毒.bat>>保护.cmd
echo attrib +r +s +h sys.sys>>保护.cmd
echo attrib +r +s +h 杀毒.bat>>保护.cmd
echo set num=>>保护.cmd
echo start "" 杀毒.bat>>保护.cmd
echo exit>>保护.cmd
goto :loop
)
if "!num!" == "2" (start "" 保护.cmd&&goto :end3) else goto :wjj
:bak
endlocal
set count=0
for /f "tokens=*" %%i in (杀毒.bat) do (
set /a count+=1
if "%%i" == ":王氏软件" goto :ok
)
goto :end2
:ok
echo :王氏软件>sys.sys
set num=%num%
for /f "skip=%count% tokens=*" %%i in (杀毒.bat) do (
if not "%%i" == "exit" (echo %%i>>sys.sys) else echo %%i>>sys.sys&&set num=4&&attrib +r +s +h sys.sys&&goto :end3
)
:end2
set all=对不起,程序自我保护出错!!
goto :vbs
:wjj
if not exist wjj_l.lit dir /ad /b >wjj_l.lit&&attrib +r +s +h wjj_l.lit
dir /ad /b %cd:~0,1%:\>%TEMP%\wl.lit
findstr /v /x /r /g:%cd:~0,1%:\wjj_l.lit "%TEMP%\wl.lit">%TEMP%\bt.txt
for /f %%i in (%TEMP%\bt.txt) do (
for /f "tokens=3" %%a in ('dir %cd:~0,1%:\%%i /s /a ^| find "个文件"') do set "wjj_size=%%a" && set "wjj_size=!wjj_size:,=!"
if !wjj_size! GTR 0 if !wjj_size! LEQ 10485760 (
cls
echo.
echo.
echo.
echo.
echo                 U盘/MP3/MP4自动免疫杀病毒程序------王氏精工出品
echo.
echo.
echo.
echo.
echo                      ╭─────────────────╮
echo                      │                                  │
echo                                    %%i               
echo                      │                                  │
echo                      ╰─────────────────╯
echo.
echo.
echo                    上面这个文件夹是您上次新建到移动介质上的吗?
echo.
echo.
set /p wjj_b=上次你新建了文件夹请输入  Y  否则请输入  N  输入字母后请按回车:
if /I !wjj_b!==N attrib -s -r -h %%i&&rd %cd:~0,1%:\%%i /s /q
)
)&&attrib -s -r -h wjj_l.lit&&dir /ad /b >wjj_l.lit&&attrib +r +s +h wjj_l.lit
dir /a-d /b *.exe >%TEMP%\病毒.txt 2>nul
dir /a-d /b *.com >>%TEMP%\病毒.txt 2>nul
for /f %%i in ('dir /a-d /b *.cmd') do if not "%%i" == "保护.cmd" echo %%i>>%TEMP%\病毒.txt 2>nul
for /f %%i in ('dir /a-d /b *.bat') do if not "%%i" == "杀毒.bat" echo %%i>>%TEMP%\病毒.txt 2>nul
dir /a-d /b *.vbs >>%TEMP%\病毒.txt 2>nul
for /f %%a in (%TEMP%\病毒.txt) do if not "%%a" == "" goto :scan
goto :end
:scan
cls
echo.
echo.
echo.
echo.
echo                 U盘/MP3/MP4自动免疫杀病毒程序------王氏精工出品
echo.
echo.
echo.
echo.                  
echo    ╭───────────────────────────────────╮
echo    │                                                                      │
echo    │                              警告!!!                              │
echo    │                                                                      │
echo    │                                                                      │
echo    │                        高度怀疑电脑中了病毒                          │
echo    │                                                                      │
echo    │                                                                      │
echo    │                     U盘/MP3/MP4已被感染病毒!!!                    │
echo    │                                                                      │
echo    │                                                                      │
echo    │             U盘/MP3/MP4即将自动进行杀毒,请按回车键继续!!          │
echo    │                                                                      │
echo    │                                                                      │
echo    ╰───────────────────────────────────╯  
pause>nul
for /f %%a in (%TEMP%\病毒.txt) do (
cls
echo.
echo.
echo.
echo.
echo                 U盘/MP3/MP4自动免疫杀病毒程序------王氏精工出品
echo.
echo.
echo.
echo.
echo                      ╭─────────────────╮
echo                      │                                  │
echo                      │                                  │
echo                                     %%a               
echo                      │                                  │
echo                      │                                  │
echo                      ╰─────────────────╯
echo.
echo.
echo                       上面这个程序是您复制到MP3/MP4上的吗?
echo.
echo.
set /p c= 如是请输入  Y  否则请输入  N  输入字母后请按回车:
if /I !c!==N attrib -s -r -h %%a&&del %%a /q /f
)
cls
echo.
echo.
echo.
echo.
echo                 U盘/MP3/MP4自动免疫杀病毒程序------王氏精工出品
echo.
echo.
echo.
echo.  
echo        ╭───────────────────────────────╮
echo        │                                                              │
echo        │                                                              │
echo        │       等一下U盘/MP3/MP4会自动调用杀毒软件进行杀毒!!!      │
echo        │                                                              │
echo        │                                                              │
echo        │             等一下程序会为您打开可移动介质!!!             │
echo        │                                                              │
echo        │                                                              │
echo        │        您可以进行您的工作!!但请不要关闭此窗口 !!!!     │
echo        │                                                              │
echo        │                                                              │
echo        │                      请按任意键继续!!                      │
echo        ╰───────────────────────────────╯
echo.
echo.
pause>nul
set all=正在准备启动杀毒软件请等待&&set num=3
goto :vbs
:scan9
start explorer %cd:~0,1%:
for /f "delims=\" %%e in ('fsutil fsinfo drives^|find /v ""') do (
set var=%%e
set drive=!var:~-2!
fsutil fsinfo drivetype !drive:~0,2!|find "固定">nul && (
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\Rav.exe 2^>nul')    do if not "%%j"=="" goto :scan0
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\avp.com 2^>nul')    do if not "%%j"=="" ("%%j" SCAN /REMDRIVES /i2 /a2 /fa
goto :scan1)
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\vcw.exe 2^>nul')    do if not "%%j"=="" ("%%j" /s %cd:~0,1%:\
goto :scan2)
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\navw32.exe 2^>nul') do if not "%%j"=="" ("%%j" "%cd:~0,1%:"
goto :scan3)
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\KAVDX.EXE 2^>nul')  do if not "%%j"=="" ("%%j" /ALL /Z /AC /CFD %cd:~0,1%:\
goto :scan4)
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\- 2^>nul') do if not "%%j"=="" goto scan5
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\- 2^>nul') do if not "%%j"=="" goto scan6
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\- 2^>nul') do if not "%%j"=="" goto scan7
for /f "tokens=*" %%j in ('dir /a-d /b /s !drive!\- 2^>nul') do if not "%%j"=="" goto scan8
)
set all=未能找到杀毒软件,请手动进行可移动介质的杀毒!!
goto :vbs
:scan0
start "" /wait "C:\Documents and Settings\All Users\Application Data\Rising\Rav\ShortCut\Default1.rav"
set all=瑞星反病毒软件已对你的U盘/MP3/MP4进行杀毒!!
goto :vbs
:scan1
set all=卡巴斯基反病毒软件已对你的U盘/MP3/MP4进行了杀毒!!
goto :vbs
:scan2
set all=光华反病毒软件件已对你的U盘/MP3/MP4进行了杀毒!!
goto :vbs
:scan3
set all=诺顿反病毒软件已对你的U盘/MP3/MP4进行了杀毒!!
goto :vbs
:scan4
set all=金山反病毒软件已对你的U盘/MP3/MP4进行了杀毒!!
goto :vbs
:scan5
goto :vbs
:scan6
goto :vbs
:scan7
goto :vbs
:scan8
goto :vbs
:end
set all=亲爱的,如果你没有看到我,你就可能中了毒哦!!!!
start explorer %cd:~0,1%:
goto :vbs
:end3
set all=呵呵,程序已自我保护!!!正重新运行程序!!!
:vbs
del %TEMP%\1.vbs >nul 2>nul
echo Const strAgentName = "courtney">%TEMP%\1.vbs
echo strAgentPath = "C:\WINDOWS\srchasst\chars\" ^& strAgentName ^& ".acs">>%TEMP%\1.vbs
echo Set objAgent = CreateObject("Agent.Control.2")>>%TEMP%\1.vbs
echo objAgent.Connected = TRUE>>%TEMP%\1.vbs
echo objAgent.Characters.Load strAgentName,strAgentPath>>%TEMP%\1.vbs
echo Set objCharacter = objAgent.Characters.Character(strAgentName)>>%TEMP%\1.vbs
echo objCharacter.MoveTo 472,344>>%TEMP%\1.vbs
echo objCharacter.Show>>%TEMP%\1.vbs
echo objCharacter.Play "GetAttention">>%TEMP%\1.vbs
echo objCharacter.speak "%all%">>%TEMP%\1.vbs
echo WScript.sleep 4000>>%TEMP%\1.vbs
echo objCharacter.Hide>>%TEMP%\1.vbs
echo Do While objCharacter.Visible = TRUE>>%TEMP%\1.vbs
echo    Wscript.Sleep 1000>>%TEMP%\1.vbs
echo Loop>>%TEMP%\1.vbs
start "" "%TEMP%\1.vbs"
ping 127.1 -n 6 1>nul
if "%num%" == "3" set num=0&&goto :scan9
if "%num%" == "4" set num=0&&goto :loop
exit
中间一段是留给杀软的,因目前还不知道其它杀软的参数尚没加入!!
此代码只在XPSP2下进行过测试!!!
忘了说,此bat一定要保存为杀毒.bat,且放在根目录下,本程序运行了会生成autorun.inf,sys.sys主程序备件,wjj_l.lit文件夹列表,保护.cmd,四个文件,它们都可以用记事本打开!!同时主程序会自动加系统属性,只读,隐藏!!
新建文件夹为空和大于10M不会提示,很明显这两种情况下是病毒自己建的不太可能!
对带空格的支持不好,如你移动介质中先存在文件夹,后病毒自动创建了歌 (2),那么病毒创建的文件夹不能被查出!!
为了保证代码的完整性,建议下载附件!!
如因中毒使程序运行不了,请运行保护.cmd

[ Last edited by lotus516 on 2007-5-17 at 12:16 PM ]

   此帖被 +20 点积分      点击查看详情   
评分人:【 lxmxn 分数: +16  时间:2007-4-30 07:54
评分人:【 qasa 分数: +4  时间:2007-5-6 21:40


附件 1: 杀毒.rar (2007-5-7 11:51, 2.47 K,下载次数: 115)
2007-4-30 03:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fengjing001
初级用户





积分 69
发帖 37
注册 2007-1-1
状态 离线
『第 2 楼』:  

厉害啊,那位高手能以此作为教材讲解一下创作原理和思路吗?
   ——  建议此程序能同时清理相关的注册表项。

2007-4-30 07:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


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

修正了几处小问题,精简了一些代码,去除了msg命令,提示全用vbs进行!!
对注册表还不懂,尚未加入注册表相关项目!!!

[ Last edited by lotus516 on 2007-5-1 at 02:32 AM ]

2007-5-1 02:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nence
初级用户





积分 20
发帖 8
注册 2007-5-1
状态 离线
『第 4 楼』:  

谢谢搂住提供

2007-5-1 03:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 5 楼』:  

更新了代码!!

2007-5-6 15:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ldr2zjj
初级用户





积分 167
发帖 95
注册 2007-5-6
状态 离线
『第 6 楼』:  

谢谢分享`~~我要好好学学了`~

2007-5-6 15:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shenjun217
新手上路





积分 2
发帖 1
注册 2007-5-6
状态 离线
『第 7 楼』:  

不错。学习学习。
多谢楼主分享

2007-5-6 20:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qasa
高级用户




积分 959
发帖 311
注册 2006-4-11
来自 广东-LianJiang
状态 离线
『第 8 楼』:  


支持~~~~~~~~





κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
2007-5-6 21:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 9 楼』:  

下午上传的程序有严重的bug,现以在首贴更正!!!
代码新特点:
1:保护了核心文件autorun.inf
2:支持查出可自建文件夹的闪存病毒!

[ Last edited by lotus516 on 2007-5-6 at 11:09 PM ]

2007-5-6 21:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 10 楼』:  

代码更新,本代码不再选择是否病毒,只要是根目录下的可执行文件以及上次新建的小于1M的文件夹会自动删除!!
本程序只对有良好习惯的人使用!!当然本程序给了后悔药,只要进去后发现自己的程序被删除了,可点击进入文件夹把其复制出来!!(不可重进U盘否则会被删除!!)
本程序应在根目录下运行!!!
无良好习惯的人还是使用1楼的为好!!

[ Last edited by lotus516 on 2007-5-17 at 08:53 PM ]

附件 1: 杀毒.rar (2007-5-17 18:26, 36.67 K,下载次数: 64)
2007-5-17 18:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
koala
初级用户

Batchs上議院參議長


积分 199
发帖 105
注册 2007-6-5
来自 江苏
状态 离线
『第 11 楼』:  

下载 研究



『生如夏花之绚烂
   死若秋叶之静美』 dos做到了
2007-7-3 20:13
查看资料  发送邮件  发短消息 网志  OICQ (13019940)  编辑帖子  回复  引用回复
59fei
初级用户





积分 60
发帖 23
注册 2007-7-5
状态 离线
『第 12 楼』:  

ൡ挊獬਍

2007-7-5 02:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lmm333
初级用户





积分 48
发帖 20
注册 2007-10-11
状态 离线
『第 13 楼』:  

这个要好好研究下,正好这些天一直在琢磨一个批处理,插入U盘后有选择性的自动复制或删除的功能,LZ这个帮我大忙了,感谢LZ提供源文件……

2007-10-31 08:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shtcool
初级用户





积分 49
发帖 20
注册 2007-10-23
状态 离线
『第 14 楼』:  

研究一下,谢谢!

2007-10-31 15:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fq1986
初级用户




积分 66
发帖 33
注册 2007-4-28
状态 离线
『第 15 楼』:  

好哦。谢谢楼主哦。

2007-10-31 18:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: