微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: 好吧,我承认对于用微点解决CAD的LSP病毒,这只是权宜之计
scien
中级用户




积分 296
发帖 296
注册 2009-10-13
#1  好吧,我承认对于用微点解决CAD的LSP病毒,这只是权宜之计

由于微点目前并不能有效地处理AutoCAD的LSP脚本病毒,为了解决这个问题,我写了以下的代码,以作临时之解决办法。

声明:代码仅是从文件名做出判断是否删除,判断的依据依然很低级,同时其他考虑亦未能周全,所以使用过程难免会出现很多问题。使用前应有必要的备份准备。因使用本代码出现的后果,我就不负责了。

使用办法:将代码保存为acad2006.lsp(以AutoCAD2006为例),文件存放在“C:\Documents and Settings\[用户名]\Application Data\Autodesk\AutoCAD 2006\R16.2\chs\Support\”。如果安装了cad的Express tools功能,就将代码加入到文件“C:\Program Files\AutoCAD 2006\Express\acetauto.lsp”之中,以避免因病毒文件名同名造成不能正常运行的问题。

其他说明:对于已经中毒的系统,使用前须先将病毒修改过的CAD文件复原。如:删除support目录下的acad.lsp、acaddoc.lsp、acad.rx、acadapp.lsp等文件,修复acad.mnl等菜单文件。至于图形文件目录里的病毒文件则可不用管,运行该代码后就自动删除了。

特别说明:如果CAD出现VBS系统加载失败,命令行字符不能正确显示,部分命令不能正常运行,请将acad.mnl文件用原安装程序里的文件覆盖即可恢复正常。

源代码如下:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Created by scien.Feng
(setq dwgpath (getvar "dwgprefix"))
(setq xacad (vl-directory-files dwgpath "acad*.*" ))
(setq lenxacad (vl-list-length xacad))
(if (> lenxacad 0)
    (progn
     (setq n 0)(setq n 0)(setq n 0)
     (while (> lenxacad n)
            (setq numlist (nth n xacad))
            (setq numlsp (strcat dwgpath numlist))
            (setq ext (vl-filename-extension  numlsp))
            (setq lspext (strcase ext))
            (if (not (wcmatch lspext ".FMP"))
                (progn
                ;(alert "即将删除病毒文件!")
                (vl-file-delete  numlsp)
                (princ "\n已删除病毒文件:")(princ numlsp)
                )
            )
            (setq n (1+ n))
     )(terpri)
   )
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

※ ※ ※ 本文纯属【scien】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-28 18:27
查看资料  发送邮件  发短消息   编辑帖子
smomo
注册用户





积分 146
发帖 141
注册 2008-1-6
#2  

还有acad.fas 或 acaddoc.fas ,不知道能不能考虑进去。

※ ※ ※ 本文纯属【smomo】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-28 22:28
查看资料  发送邮件  发短消息  QQ   编辑帖子
王者天下
禁止发言





积分 266
发帖 262
注册 2009-11-24
#3  

好吧,我承认微点解决,楼主的口语好可笑哦。

※ ※ ※ 本文纯属【王者天下】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-29 06:12
查看资料  发送邮件  发短消息   编辑帖子
zhaochangl
新手上路





积分 28
发帖 28
注册 2009-5-30
#4  autodesk 官方给出的解决方案

下面为autodesk 官方给出的解决方案。
链接地址:http://www.autodesk.com.cn/adsk/ser...359&id=14112060
Acad.vlx 病毒清除
发布日期:2009年11月04日
序列号:TS13717811

适用于:
AutoCAD? 2010
AutoCAD? 2009
AutoCAD? 2008
AutoCAD? 2007
AutoCAD? Architecture 2010
AutoCAD? Architecture 2009
AutoCAD? Architecture 2008
Autodesk? Architectural Desktop 2007
AutoCAD? Civil 2010
AutoCAD? Civil 2009
AutoCAD? Civil 3D? 2010
AutoCAD? Civil 3D? 2009
AutoCAD? Civil 3D? 2008
Autodesk? Civil 3D? 2007
AutoCAD? Electrical 2010
AutoCAD? Electrical 2009
AutoCAD? Electrical 2008
AutoCAD? Electrical 2007
AutoCAD? Map 3D 2010
AutoCAD? Map 3D 2009
AutoCAD? Map 3D 2008
Autodesk Map? 3D 2007
AutoCAD? Mechanical 2010
AutoCAD? Mechanical 2009
AutoCAD? Mechanical 2008
AutoCAD? Mechanical 2007
AutoCAD? MEP 2010
AutoCAD? MEP 2009
AutoCAD? MEP 2008
AutoCAD? P&ID 2010
AutoCAD? P&ID 2009
AutoCAD? P&ID 2008
AutoCAD? Raster Design 2010
AutoCAD Raster Design 2009
AutoCAD Raster Design 2008
Autodesk? Raster Design 2007

问题
AutoCAD系列产品的用户报告了一个名为acad.vlx的恶意文件,该文件会导致绘图损坏。

解决方法
这实际上不是Autodesk提供的AutoCAD文件。 当AutoCAD载入acad.vlx恶意文件时,会使绘图损坏,进而导致在您保存并重新打开工程图时弹出“缺少语言包”( Missing Language Pack )对话框。

acad.vlx文件会在Help文件夹下面创建一个副本(例如,C:\Program Files\AutoCAD 2010\Help\logo.gif)。 其它多个文件也会被修改,同时ACADLSPASDOC系统变量的值会被改为1,这将允许acad.vlx文件载入到其它打开的工程图中,导致工程图损坏。

下述清理流程将在AutoCAD试图加载acad.vlx 文件之前发现该文件并将其删除,防止病毒的传播。

为了避免其它文件的损坏
您必须以Microsoft? Windows? 操作系统的系统管理员身份完成本流程。

在您的产品安装目录中,找到Support 文件夹(例如,C:\Program Files\AutoCAD 2010\Support)。
在Support文件夹内,双击acad20xx.lsp文件(例如,acad2010.lsp文件)。 在文件中加入下面的代码。 AutoCAD将发现并删除acad.vlx和logo.gif 文件。
(defun cleanvirus( / lspfiles lspfile x)
(setq lspfiles '("acad.vlx" "logo.gif"))
(foreach lspfile lspfiles
    (while (setq x (findfile lspfile))
      (progn
        (vl-file-delete x)
        (princ "\nDeleted file ")
        (princ x)
      );progn
    );while
);foreach
)
(cleanvirus)
打开下面的所有文件:
o C:\Program Files\AutoCAD 20xx\Express\acetauto.lsp
o C:\Program Files\AutoCAD 20xx\Support\ai_utils.lsp
o ROAMABLEROOTPREFIX\Support\acad.mnlo
备注: 将ROAMABLEROOTPREFIX替换为ROAMABLEROOTPREFIX 系统变量的返回值。
如果出现下列代码,请删除:
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))

保存所有文件。

※ ※ ※ 本文纯属【zhaochangl】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-29 08:21
查看资料  发送邮件  发短消息   编辑帖子
scien
中级用户




积分 296
发帖 296
注册 2009-10-13
#5  



  Quote:
Originally posted by zhaochangl at 2009-12-29 08:21:
下面为autodesk 官方给出的解决方案。
链接地址:http://www.autodesk.com.cn/adsk/ser...359&id=14112060
Acad.vlx 病毒清除
发布日期:2009年11月04日
序列号:TS13717811

适用于:
Auto ...

从代码上看,只是处理了acad.vlx病毒,我没有遇到过,不清楚它是否会复制自身到图形文件文件夹内。对于其他病毒文件,该代码应无效,我试试看。

※ ※ ※ 本文纯属【scien】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-29 12:23
查看资料  发送邮件  发短消息   编辑帖子
scien
中级用户




积分 296
发帖 296
注册 2009-10-13
#6  



  Quote:
Originally posted by smomo at 2009-12-28 22:28:
还有acad.fas 或 acaddoc.fas ,不知道能不能考虑进去。

图形文件的文件夹下除扩展名为.FMP的文件之外(字体替换文件)其他所有的acad*.*文件都将被删除。CAD安装目录下的病毒文件须手动删除。

※ ※ ※ 本文纯属【scien】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-29 17:08
查看资料  发送邮件  发短消息   编辑帖子
scien
中级用户




积分 296
发帖 296
注册 2009-10-13
#7  



  Quote:
Originally posted by smomo at 2009-12-28 22:28:
还有acad.fas 或 acaddoc.fas ,不知道能不能考虑进去。

图形文件的文件夹下除扩展名为.FMP的文件之外(字体替换文件)其他所有的acad*.*文件都将被删除。CAD安装目录下的病毒文件须手动删除。

※ ※ ※ 本文纯属【scien】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-12-29 17:18
查看资料  发送邮件  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号