![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 系統組件
(https://www.pcdvd.com.tw/forumdisplay.php?f=19)
- - 每日更新 NAV 病毒的簡易方式 (改良)
(https://www.pcdvd.com.tw/showthread.php?t=339082)
|
---|
每日更新 NAV 病毒的簡易方式 (改良)
這篇是接續「更新 NAV 病毒另一種方式 (適合喜歡每日更新)」,不過因為內容會有差異,為了避免有網友搞錯,所以重發一篇,請見諒。
主要的目的是為了「能隨自己的喜好定期更新」,也許有人會問,防毒軟體不是會自動定期 Update 嗎?是的,沒錯,不過也許會有人不清楚 Symantec 的病毒碼更新有兩種: 1. Intelligent Updater:在工作週期間,Intelligent Updater 每日更新。 2. LiveUpdate:每個星期更新,除非爆發大流行,這時定義檔就會更新的比較頻繁。 (詳細可參考:何時使用 Intelligent Updater 代替 LiveUpdate) 以今天為例 (5/26 21:30),LiveUpdate 的病毒碼是 5/19;Intelligent Updater 的病毒碼是 5/25。但說實在去點選下載,實在有點麻煩,所以,以下利用官方提供的批次檔,經過修改與熱心網友的協助,完成比上次提出來更簡易的方式。 四個步驟: 1. 下載 WGET (檔案傳輸軟體),並解到一個目錄中 (例如 C:\NAV\)。 WGET 檔案下載: ftp://ftp.sunsite.dk/projects/wget/...1b-complete.zip WGET 網站: http://www.gnu.org/software/wget/wget.html (事實上只需要 wget.exe、libeay32.dll 與 ssleay32.dll) 2. 下載 FCOM (檔案比對軟體),並解到與上者「相同」的目錄中 (例如 C:\NAV\)。 FCOM 檔案下載: http://www.topcatcomputing.com/downloads/fcom.zip 網站: http://www.topcatcomputing.com/arti...le.asp?DocId=16 (事實上只需要 FCOM32.exe) 3. 將以下文字存成 *.bat 批次檔,與上者「相同」的目錄中 (例如 C:\NAV\NAV.bat): 代碼:
@Echo Off cls wget -N ftp://ftp.symantec.com/public/english_us_canada/antivirus_definitions/norton_antivirus/static/symcdefsi32.exe FCOM32 symcdefsi32.exe symcdefsi32.bak /Q if errorlevel=1 goto Install if errorlevel=0 goto No_Need else goto Error :Install symcdefsi32.exe /Q copy symcdefsi32.exe symcdefsi32.bak /Y > NUL echo Update complete. goto End :No_Need echo No update needed. goto End :Error echo Error occured. :End @Echo On 4. 檔案管理員點選 .bat 執行。 (或在 CMD 中執行亦可) 說明: 1. 點選 .bat 即可自動執行 (要將 .bat 排程亦可)。 2. 會下載 symcdefsi32.exe,並備份一份為 symcdefsi32.bak。 3. 會比對官方伺服器的 symcdefsi32.exe 與本地端 symcdefsi32.exe 是否相同。若相同就不會下載。 4. 若使用 Server 版,請將批次檔中「symcdefsi32.exe」改為「symcdefsx86.exe」。 5. 事實上「symcdefsi32.exe」就是官方病毒碼下載網頁中的「yyyymmdd-0aa-i32.exe」;而「symcdefsx86.exe」就是網頁中的「yyyymmdd-0aa-x86.exe」。 PS:感謝網友阿豐大大的大力協助,與其他網友的測試 (就不一一具名囉~ :) ),謝謝! |
給個好:like:
幫推 讚呀~~繼續加油:agree: |
補一下 :)
若您的網路需要使用 Proxy,可將 .bat 修改成支援 Proxy!例如假設 Proxy 為:WWW.XXX.YYY.ZZZ:Port (例如:140.116.155.989:8080)。 代碼:
@Echo Off cls set ftp_proxy=WWW.XXX.YYY.ZZZ:Port wget --proxy=on -N ftp://ftp.symantec.com/public/english_us_canada/antivirus_definitions/norton_antivirus/static/symcdefsi32.exe ...(以下都一樣) PS: 剛把上一篇的 quote 改為 code,這樣網址連結應該就不會被簡略化了~ :shy: |
我上了一課....感恩大大的指教
|
剛剛測試了一下
真的可以^^ 謝謝 那再請問一下 是不是CMD跑完 就可以把剛下載完的 新的病毒檔 刪除 另外 那個 FCOM 比對的作用是? |
引用:
不能砍,因為需要 .exe 檔與伺服器的檔案比對。 置於 FCOM32 的目的是比對 .exe 與 .bak,看是否需要安裝新的病毒檔。為何要這樣麻煩,因為要兼顧以下兩種可能: 1. WGET 比對檔案,發現一樣 → 不需下載 → FOM32 比對 .exe 與 .bak 會相同 → 因此不會再次安裝算是舊的病毒檔 2. WGET 比對檔案,發現伺服器已更新 → 下載 → FCOM32 比對 .exe 與 .bak 會不同 → 會安裝新的病毒檔 [edited]對了,上面有一個地方沒有寫清楚,server 是指 symantec antivirus "server" 版,不是指 windows server~ :shy: |
引用:
恩! 瞭解了! 謝謝您的詳細說明^^ |
adelies 大:
若比對不同就會下載檔案,第一次執行因為沒有bak檔,所以應該也會下載。 但是好像不會自動執行安裝:confused: 是不是應該再加上黃色這一條呢,讓下域完後自動執行安裝呢? :Install symcdefsi32.exe /Q copy symcdefsi32.exe symcdefsi32.bak /Y > NUL echo Update complete. symcdefsi32.exe |
真的很詳細~ 已經 Mark 起來了~ :D
|
:Install
symcdefsi32.exe /Q ^^^^^^^^^^^^ 這行應該就已經安裝完了,因為加了 /Q 參數只是螢幕不會出現任何訊息,也不會要求按任何鍵~ :shy: (edited:以下順便加進來~ :) ) 附註: 給 norton/symantec antivirus "SERVER" 版用的版本,要替換所有的 .exe 與 bak 部分,大致如下: 代碼:
@Echo Off cls wget -N ftp://ftp.symantec.com/public/english_us_canada/antivirus_definitions/norton_antivirus/static/symcdefsx86.exe FCOM32 symcdefsx86.exe symcdefsx86.bak /Q if errorlevel=1 goto Install if errorlevel=0 goto No_Need else goto Error :Install symcdefsx86.exe /Q copy symcdefsx86.exe symcdefsx86.bak /Y > NUL echo Update complete. goto End :No_Need echo No update needed. goto End :Error echo Error occured. :End @Echo On * 給 norton/symantec antivirus server 用的批次檔是直接用替換檔名的方式,小弟沒有做過太多測試,所以如果這部分有誤請告知 + 見諒~ :shy: ** 一般的版本應該用第一篇附的即可,因為其檔案比較小,不用佔太多頻寬。 :p |
所有的時間均為GMT +8。 現在的時間是12:07 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。