關(guān)于AutoCAD中的LISP病毒_第1頁
關(guān)于AutoCAD中的LISP病毒_第2頁
關(guān)于AutoCAD中的LISP病毒_第3頁
關(guān)于AutoCAD中的LISP病毒_第4頁
關(guān)于AutoCAD中的LISP病毒_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

-.z.關(guān)于AutoCAD中的LISP病毒

目前CADr14有一種lisp代碼具備病毒的特征,有一定危害

具體情況如下:

在有DWG文件里如果帶有ACAD.LSP雙擊翻開DWG文件,就會自動加載這個lisp,

此lisp的功能是:

加載后炸開命令外部引用等命令失效。并且可傳染:

加載后在你SUPPORT目錄下生成一個ACADAPP.slp,在ACAD添加(LOAD"ACADAPP")(PRINC)

這樣以后你翻開acad就自動加載了ACADAPP,它在你每個操作過的acad圖形文件的文件夾下生成帶惡意代碼的ACAD.LSP

這樣如果你復(fù)制整個文件夾,或者通過局域網(wǎng)翻開圖形,就會導(dǎo)致在不同的機器內(nèi)傳染。問題現(xiàn)象:

E*PLODE命令失效〔同時還有*REF、*BIND〕;

每個編輯過dwg文件的目錄下面都會有一個acad.lsp;

保存至另一目錄時也同時產(chǎn)生acad.lsp;

翻開別人的文件時,如果該目錄下有acad.lsp,則你必中招。解決方法一:Autocad\\support\\下建立一個acad.lsp的空白文件,并將文件屬性置為只讀,你自己不會具有二次傳染性,可以阻止病毒的擴散.如果中毒就刪掉圖形目錄下的acad.lsp,最好進展網(wǎng)絡(luò)全體搜索去除去除。解決方法二:

用.E*plode〔在命令前加小數(shù)點".〞〕可以分解;

刪除所有這些acad.lsp文件。

解決方法三:

有個免疫設(shè)置的方法,將support目錄下的ACAD.lsp設(shè)為只讀,如果有ACADAPP.lsp就清空后也將其設(shè)為只讀。

病毒名稱Harm.Bursted

該病毒是使用繪圖軟件:AutoCAD的內(nèi)嵌腳本語言的寫成,

文件名為:"acad.lsp"可由AutoCAD啟動時自動執(zhí)行,但它不影響圖形文件。

此病毒使AutoCAD的內(nèi)部命令-E*PLODE,*REF和*BIND無效,并定義一個新的命令BRUST,此命令將

顯示如下消息:

BURST----將圖塊中的文字炸開后成為實體中了病毒"ASL.Bursted.A"病毒之解決方案

我的電腦昨日中毒

諾頓掃描後顯示說

D:\RECYCLER\S-1-5-21-299502267-2139871995-726345543-1003\Dd44.rar感染ASL.Bursted.A病毒

我從網(wǎng)路上各網(wǎng)站找沒有確切的方案有的說刪掉該檔案<有的提供出殺毒小軟件但均無法刪除

但我從各論壇的的二次開發(fā)看到一段很重要的話

ACAD有個很大的優(yōu)點就是開放性它有很多開放的接口

這給用戶自定義以及第三方二次開發(fā)提供了極大的方便。

ACAD用戶化門檻不算高只要有興趣、有些耐心你總可以親自動手不同程度地進展自定義。

馬上要討論的是關(guān)于啟動自動化的AUTOLISP接口,這個接口現(xiàn)在被人用來搞了點惡作劇。

我花了1天的結(jié)果,找出解決方案了試驗如下必須對癥下藥-

1.卸載AUTOCAD及其相關(guān)軟體

2.使用"AlwaysRight"清理移除軟體及接口之軟體來去除

上述去除工作完成再重新按裝autocad軟體

4.再行掃描已無中毒情形了

先給不了解LSP的同志稍微鋪墊一下。

ACAD有個很大的優(yōu)點,就是開放性,它有很多開放的接口,這給用戶自定義以及第三方二次開發(fā)提供了極大的方便。ACAD用戶化門檻不算高,只要有興趣、有些耐心,你總可以親自動手不同程度地進展自定義。

馬上要討論的是關(guān)于啟動自動化的AUTOLISP接口,這個接口現(xiàn)在被人用來搞了點惡作劇。

在ACAD啟動或開圖時會被自動加載的LSP文件

淺見,這種LSP包括:

ACAD.LSP,新裝的純ACAD里面沒有這個文件。一般由用戶自己編寫或者第三方軟件提供,放在ACAD目錄或SUPPORT子夾都可以。

ACADR$.LSP,$是系統(tǒng)版本號,比方ACADR14.LSP,在SUPPORT子夾。

還有一種先不說了.

加載時自動運行的由defun函數(shù)定義的函數(shù)名

就一種,S::STARTUP,它和ACAD.LSP配套,同時不支持其他擴展名為LSP的文件

可能是因為這個原因,目標(biāo)被定位于ACAD.LSP"不知道了,其實不一定非用S::STARTUP,用了那就說明這位大蝦是個追求完美的人~

鋪墊好了,來看看這個病毒acad.lsp的作用~

{00.定義自動函數(shù)S::STARTUP

{01.獲取CMDECHO變量,改設(shè)為0,一般程序最后會再改回去,

目的是悄悄地進村打槍地不要.大家都喜歡這么干}

{02.通過搜索base.dcl文件,獲取ACAD安裝路徑(support子夾)}

{03.獲取菜單文件完整路徑和名稱,后來又沒用~}

{04.獲取當(dāng)前圖形文件完整路徑和名稱,截取當(dāng)前工作路徑}

{05.獲取當(dāng)前首選ACAD.LSP文件完整路徑和名稱,截取其路徑}

{06.預(yù)設(shè)程序標(biāo)記變量LSPBJ為0,意思是假設(shè)還沒得手}

{07.用只讀方式翻開support中的ACAD.LSP,如文件不存在則建立同名文件

逐行檢查此ACAD.LSP文件內(nèi)容,一旦發(fā)現(xiàn)*行開頭為(load"acadapp")

則設(shè)程序標(biāo)記變量LSPBJ為1,表示已經(jīng)得手過

只讀任務(wù)完畢,關(guān)閉文件}

{08.如果找到的ACAD.LSP路徑和當(dāng)前工作路徑不同,

并且不在ACAD\support里面,則

{如果LSPBJ為0,也即尚未得手,則

就在ACAD\support\acad.lsp文件末尾添加(load"acadapp")(princ),

即ACAD啟動或開圖時自動加載acadapp.lsp并隱蔽命令行反響。

然后同路徑創(chuàng)立acadapp.lsp文件,作為剛改正的acad.lsp的備份.}

{如果LSPBJ為1,即已得手,且當(dāng)前繪圖不是未命名的新繪圖任務(wù),則

用復(fù)寫ACAD\support\acadapp.lsp的方式

在當(dāng)前工作路徑創(chuàng)立acad.lsp.}

}

;注:到此為止,ACAD啟動時必搜的程序文件路徑里面都放好了此acad.lsp!

{09.程序開場做真正讓大家不愉快的事情,

它取消了3個系統(tǒng)預(yù)設(shè)的命令名:不止e*plode,還有*ref和*bind

可能因為*ref和*bind不是每個人都常用,所以好象報案的不多,

而e*plode幾乎是所有用ACAD畫圖的人都難以防止使用的,就顯得很典型}

S::STARTUP函數(shù)定義完畢}

還沒完,前面取消了那3個命令的定義,現(xiàn)在要重新定義它們,幸好這位大蝦良心不算壞,只是讓命令不起作用或者改成其他加法命令,并沒寫成破壞性函數(shù)或OS命令

E*PLODE的新功能和交互情況是:

mand:E*PLODE

Seltctobjects:200found

Selectobjects:

200wasnotabletobee*plode

mand:

隨你怎么選,它就是說炸不了

然后*REF和*BIND這對難兄難弟雙雙被改成了insert,交互響應(yīng)制作很不精良,根本就是空白,可能大蝦突然覺得倦了吧.

最后,它還重新定義了BONUS和E*PRESSTOOLS工具集里面提供的BURST命令,其實是個外部函數(shù)(c:burst)

BURST原來的用途是"E*plodeAttributestoTe*t",把屬性文本炸成te*t類物體

被重新定義后這樣:

mand:BURST

BURST----將圖塊中的文字炸開后成為實體

Selectobjects:200found

Selectobjects:

mand:07.用只讀方式翻開support中的ACAD.LSP,如文件不存在則建立同名文件

逐行檢查此ACAD.LSP文件內(nèi)容,一旦發(fā)現(xiàn)*行開頭為(load"acadapp")

則設(shè)程序標(biāo)記變量LSPBJ為1,表示已經(jīng)得手過

只讀任務(wù)完畢,關(guān)閉文件}

{08.如果找到的ACAD.LSP路徑和當(dāng)前工作路徑不同,

并且不在ACAD\support里面,則

{如果LSPBJ為0,也即尚未得手,則

就在ACAD\support\acad.lsp文件末尾添加(load"acadapp")(princ),

即ACAD啟動或開圖時自動加載acadapp.lsp并隱蔽命令行反響。

然后同路徑創(chuàng)立acadapp.lsp文件,作為剛改正的acad.lsp的備份.}

{如果LSPBJ為1,即已得手,且當(dāng)前繪圖不是未命名的新繪圖任務(wù),則

用復(fù)寫ACAD\support\acadapp.lsp的方式

在當(dāng)前工作路徑創(chuàng)立acad.lsp.}

}

;注:到此為止,ACAD啟動時必搜的程序文件路徑里面都放好了此acad.lsp!

ACAD的支持文件搜索路徑(Supportfilesearchpath)

ACAD在啟動或開新圖的時候,在程序進入ready狀態(tài)前,首先會到支持文件搜索路徑里面尋找系統(tǒng)需要的資源,在必須使用的東西全部找齊后,我們才有時機正常開場畫圖。這種路徑分2種:

A、在preferences命令對話框的files分頁最上面一項可以看到,一般新裝的純ACAD的這種路徑包括support[外部命令、函數(shù),圖案、線形等資源庫等]、fonts[ACAD專用字庫、不包括TRUETYPE字體]、help[幫助文檔],還可以有bonus\cadtools[bonus資源,選裝].通常*.lsp文件都集中在support子夾。

B、當(dāng)前工作路徑,就是現(xiàn)在剛翻開的那*圖的存放位置。

acadapp.lsp并不是系統(tǒng)保存的文件名,雖然樣子很酷,其實它就是被感染的標(biāo)志,當(dāng)然,這個標(biāo)志不如到處都是acad.lsp則壯觀

現(xiàn)在可以分析大家是怎么感染的了。

用已經(jīng)感染的ACAD系統(tǒng)畫圖

根據(jù)上文08:

{如果LSPBJ為1,即已得手,且當(dāng)前繪圖不是未命名的新繪圖任務(wù),則

用復(fù)寫ACAD\support\acadapp.lsp的方式

在當(dāng)前工作路徑創(chuàng)立acad.lsp.}

這就是說,在這種情況下,它把已經(jīng)被感染的CAD系統(tǒng)里面的acadapp.lsp克隆到當(dāng)前工作路徑,名字就叫acad.lsp

不小心工作路徑里面混進了那個acad.lsp文件

一旦出現(xiàn)這種情況,即便你的ACAD原來是干凈的,也瞬間就被做掉了。

還是根據(jù)上文08:

{如果LSPBJ為0,也即尚未得手,則

就在ACAD\support\acad.lsp文件末尾添加(load"acadapp")(princ),

即ACAD啟動或開圖時自動加載acadapp.lsp并隱蔽命令行反響。

然后同路徑創(chuàng)立acadapp.lsp文件,作為剛改正的acad.lsp的備份.}

克隆這個acad.lsp到ACAD\support,名字改成acadapp.lsp,通過acad.lsp自動加載它。

注意,上面的自動加載acad.lsp和這里的通過acad.lsp加載acadapp.lsp效果都是一樣的。

則,怎么就被這個acad.lsp給混進了工作路徑呢?

可能性有很多,比方你通過局域網(wǎng)跟別人共享同個文件夾里面的dwg文件,不幸你的同伴的ACAD先感染了;或者用移動盤在別人,尤其打圖公司,那里畫圖甚至只是開圖,不幸別人的ACAD已經(jīng)感染了,等等

這大段代碼的自我復(fù)制原理很簡單。從上面概括下來就是:你的機器是干凈的,它[工作路徑里的acad.lsp]就把自己復(fù)制到ACAD目錄;你的機器是感染的,它[support里的acadapp.lsp]就把自己復(fù)制到工作路徑。只是名字有點變化,被復(fù)制的代碼是一樣的。

補充樓上說的關(guān)于殺毒、防毒的方法:如果確認未被感染,則把自己的原來的support\acad.lsp〔沒有就建一個空文本文件,改成這名字,注意確信改掉擴展名〕文件改成只讀屬性;如果已感染,請采用mnhyyl兄說的方法去除,之后再做前面的步驟〔只讀acad.lsp〕;同時安裝多個CAD版本的要分別打"只讀補丁〞。

聽說ACAD2000上就有VBA做的病毒?,F(xiàn)在討論的這個誠如"一般不管閑事〞女士/先生/同志/朋友所說,只是在Lisp上做了些文章。是我看走眼了。

刪除所有acad.lsp當(dāng)然可以解決,但未免有些濫殺無辜。如果能下決心跟它和平相處的話,就到放base.dcl的目錄下,翻開acad.lsp,刪除這樣的兩段:

(mand"undefine""e*plode")

(mand"undefine""*ref")

(mand"undefine""*bind")

以及從

(defunC:e*plode(/pcontold_cmd)

到末尾的(princ)之前的

)

以后開圖應(yīng)該不會有問題了,當(dāng)然已經(jīng)感染的目錄下的acad.lsp還是要刪除。另一個好處是:在ACAD程序目錄里留下的這個acad.lsp可以當(dāng)疫苗,估計是終身免疫的。不過我沒有試過,如果不靈權(quán)當(dāng)"療妒湯〞了。

最近一段時間論壇關(guān)于acad.lsp病毒的消息較多,其實平時養(yǎng)成良好的習(xí)慣,是完全可以杜絕的。

1.不隨便將目錄〔含cad圖紙〕拷入本機;不要盲目翻開目錄下含有acad.lsp文件的圖紙。

2.經(jīng)常升級自己的病毒庫。

3.推薦使用acad2000以上版本,內(nèi)含程序組加載程序,杜絕了acad.lsp的存在。

4.中了acad.lsp病毒也不要害怕,該病毒本身沒有什么危害性,只是炸開命令不能用了,可以使用*plode替代。

還是把acad.lsp和acadapp.lsp改為只讀比擬好

現(xiàn)在好多好多的**都反映中了lisp病毒——acad.lisp還附帶acad.doc。中毒現(xiàn)象就是不能炸開塊,不能用insert命令等等。

各路高手看看怎么能解決這個問題呀,瑞星查不出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論