QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11327|回复: 6
收起左侧

[已解决] 打开cad再关闭后有acad.lsp文件生成

[复制链接]
发表于 2007-6-22 00:09:43 | 显示全部楼层 |阅读模式 来自: 中国河南郑州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
我每次打开cad再关闭后都有acad.lsp文件生成,为什么??

acad.txt

3.34 KB, 下载次数: 39

发表于 2007-6-22 08:02:25 | 显示全部楼层 来自: 中国辽宁营口
发表于 2007-6-22 08:18:03 | 显示全部楼层 来自: 中国江苏无锡

流行CAD“病毒”ACAD.LSP(转载)

在acad启动或开图时会被自动加载的lsp文件
$ e9 q  X0 ?6 ^6 @( ]2 C. Y浅见,这种lsp包括:
% h9 Q$ U2 o" G* z( D$ ~% Bacad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。8 y0 e. ?! k9 a! ~
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。$ z. e  |2 e" J1 l6 O3 E$ I
还有一种先不说了., `$ y5 y; F0 }8 D1 ?* U9 U
8 ~1 N% }- U' w3 ~% T) f
加载时自动运行的由defun函数定义的函数名. M) v1 ]$ t8 s* T- @6 h' o* o" P
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件
; Y0 o4 c" q+ u7 {9 c可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~
) K: n- M+ H, W4 g/ v5 O2 \' I& p) ?1 [$ i$ `+ O6 Q
铺垫好了,来看看这个病毒acad.lsp的作用~$ C0 @4 |* ^9 S1 w  r" @
3 m* @3 a% Y: I4 C. C2 q
{00.定义自动函数s::startup
  ?, H+ @, [, X$ e* b( W/ |  {+ Z# x2 ^; A# S! E7 x7 a0 b; o
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,. ~, t4 u. Z: a! V2 z
目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
$ g  |# Q2 [$ a& Z6 j
4 l5 F  A$ m9 D1 p9 E; v0 U8 b6 b5 k- A{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }4 X5 A. o7 U  j: B: X" V( F. s# m: p% w

+ Y) y" U% |5 z{03.获取菜单文件完整路径和名称,后来又没用~}5 Z# u0 ?$ I7 j2 A6 ?. x/ ^

4 m; ?# t$ l3 v{04.获取当前图形文件完整路径和名称,截取当前工作路径}6 [; n1 J/ y9 `6 S  @
$ a+ n( K/ x$ ?# P- u
{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}" Q$ ]( h1 R0 R, u
1 a4 g6 J; R4 V4 v
{06.预设程序标记变量lspbj为0,意思是假设还没得手}
* W; t: T6 v  ?' `  d! a' U7 l& _& I/ F
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件
- k& O/ E9 t$ P) ]5 u逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")
# i! U: Z: b# w- o( l' |) D- i则设程序标记变量lspbj为1,表示已经得手过5 u5 _& f1 h( ?  U- ?
只读任务结束,关闭文件}; Q5 X- @; y& `9 U6 P6 T

$ ~( d3 P1 e8 F5 E* r8 G{08.如果找到的acad.lsp路径和当前工作路径不同,% K6 F" _8 Q. ?, u* Z0 w* f# \* I
并且不在acad\support里面,则$ Z  }( n8 w% }( ?9 ~3 U
{如果lspbj为0,也即尚未得手,那么/ j6 ~3 B- G- ]! `5 p" O, f1 y
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),9 V  f& u# Q: a- L
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
7 M* @9 y% F. \( e  {. t然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }
9 X$ T7 J5 _" P* D{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则. [( }6 i) T& w) n
用复写acad\support\acadapp.lsp的方式. {0 s) U- I% R- |
在当前工作路径创建acad.lsp. }
+ v. f& B' I- K/ Z, N- [# y}
+ Y- i( N1 y3 ]& ^! f;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
' m, \0 B: M3 o+ S  ^, P
; Z6 ~+ ?4 `' K! z{09.程序开始做真正让大家不愉快的事情,% H( d5 Z0 i: C( W
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind" d5 S. k5 B) ^
可能因为xref和xbind不是每个人都常用,所以好象报案的不多,
# O& G2 u4 E* J0 i' k# W而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}/ h5 S+ b" F& H" ]% b8 x

/ d) h! O4 N& n9 _6 E& e$ G/ J) Qs::startup函数定义结束}; |) |- Q! f) e" F' u; q
( K! V! @7 `! \' b2 ]1 v% J
还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令; h4 M1 M# ~) q
7 X: _. l8 k: y9 X& ~8 i% k
explode的新功能和交互情况是:
" T3 k+ t: l5 O/ _" ^- Y  l4 Rcommand: explode, m5 U; T* O  i2 I1 S" b% c
seltct objects: 200 found% s3 {! i' U% ?1 r, k4 g- t
select objects:1 S* J: ?# ?! \
200 was not able to be explode
& H; n7 \/ E# M" ~: O5 Ycommand:  \8 u2 U4 p8 C; r
* w5 m, v! z6 X) a. A
随你怎么选,它就是说炸不了- S) p2 i& V$ ?- R- p7 c* Z
- T1 ]$ F0 `% l$ Y" n% ^
然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.' a2 q: V0 H+ U$ B

0 Y+ I2 K3 C8 j9 s6 ?/ c8 R8 M/ K最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)0 o' A2 v' J8 z- Y8 ^
burst原来的用途是"explode attributes to text",把属性文本炸成text类物体
% x/ b: H# m( n9 O8 z; `被重新定义后这样:
* S3 I* a) ]5 l4 r( O; ~; W7 h: E0 wcommand: burst
& i4 m1 H' L. b! Q! F5 L4 Sburst----将图块中的文字炸开后成为实体
6 N/ w7 ]; i8 _* i* O  W/ Y! C& e/ Oselect objects: 200 found& N, J4 v4 |+ P, U' Y
select objects:' V1 ~6 B2 |' N9 z7 x8 D  z
command:
8 @+ R+ `5 @: W; c
8 o+ b. @! e3 \完了,全完了. 就这么完了,还是啥都不干,连通知也免了.
7 B  s9 \" t- ^- |! I# c…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早! W, T8 k0 e1 g: g3 a6 N9 C3 F
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。
! L5 s- E7 z5 Q2 {; R5 ]  Hacad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。* E; J4 o% Z  n( ?: v' b$ H
8 w& S0 R9 F; h! F
acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
% L! n4 R( l5 g5 X% _, \! u2 G( ~/ B! @4 a
第二个版本:大概是在2005年出现,反正俺是在那时候发现的7 L" d/ [4 x& w& S) S- D
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
- N: S' I* E5 w8 D+ N& Y5 F, `/ J
0 v  u" S$ a) v6 @$ b8 oQiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:4 F& g( I) l2 T' |" Q- @
http://sin6.ys168.com6 c# R1 i5 M' ^% a4 A
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB% Q. W- g/ c" A
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。6 A, t; _0 R. B4 R8 k
% t4 x4 h% N: b; l
第三个版本:可能是在今年(2006)才出现的
* _$ q% w2 f4 y# t" a$ r. U在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。% L9 m8 E" i0 w7 }- a4 n) f
5 R. `$ L2 I' H1 L
偶建议的查杀和免疫步骤(顺序进行):
+ r& R  l5 y+ W4 F9 F1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。* B3 V' H5 _; l2 _4 W

6 E: x9 L; N4 e; d( g+ o: U2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
; `6 B) z: y  w- U8 L. c5 N总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。% S  a, M3 N0 P8 ~( H9 _2 d, v- H
8 [8 j0 w# q+ ^$ r8 ~
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。5 [, W, _7 e+ G* }

$ p, @% A+ U+ p8 H. g+ ?5 P(load "acadapp.lsp")(princ)
( e0 N" U6 _  h7 \3 I( s# ^
4 u; x4 C4 E$ T5 [) {% r, w其中acadapp也可能是acadiso,不过偶只看到过前者。
; `4 d0 B5 P% P  O) d将acad.mnl也改为“只读”。
  z+ B, O% x0 C2 q  q& p注意,此文件为AutoCAD运行所必须,不可删除!+ ?7 P5 l" G: u" P4 J# O
: H, A- Z! H. \" }* z" W
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。. L6 X  ]' k) ~0 n7 A
% _. J; c$ O$ Q- O
展望一下它(LISP代码病毒)的未来/ x7 J$ E' q# m
目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。8 z8 B" @: c$ F2 y  O4 y& z" F! e
  u; J2 ~8 h" _- e$ o$ n, U  S; P1 o
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。# P5 `7 ~. R. I& c
: Z5 A* ^0 p) g  O# R
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。  n) e$ O7 `/ ]) J+ N3 y' ^3 X
9 G- p1 B8 J, R0 E' g  W
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?2 V, j* q7 Z5 J* `, i/ B, f

; a7 L" M5 Y% \) M愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒9 i/ ?. x1 R/ p" a0 H
7 ^/ j  A) }2 S, V9 ~7 ^
另外问一下,这是何种病毒啊?
+ ]8 a' g; _  I/ M) I- F: t1 [+ v$ u: {* j2 I0 h
[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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