QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11322|回复: 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文件
3 V" _: W0 Y  B0 S6 r  r浅见,这种lsp包括:
) w9 ]; \8 z6 u! [) C% Xacad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。* T1 V7 v8 m, c
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。4 z+ W- \9 T) ^$ [
还有一种先不说了.
. x( r3 X0 K2 P- L4 K2 @' ?7 a% W
加载时自动运行的由defun函数定义的函数名0 Z1 a" u+ o: P; z, U
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件: P' k/ t  S8 V% \: Y! b' r5 e
可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~  q9 v6 b/ \3 E, o: l
1 r7 ^) M  H0 C& g; T
铺垫好了,来看看这个病毒acad.lsp的作用~! V( J# ^5 `) g: H. O, x

( h8 M4 t7 Y7 ]' d% k7 _6 ~! |{00.定义自动函数s::startup8 O, t  s( _% ]% N& w& y4 N- U

6 t5 Y+ m5 [9 {( s: w, r5 d) Z% |6 k{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,
2 x+ ~4 l# W$ [9 H" g, A' w目的是悄悄地进村打枪地不要.大家都喜欢这么干 }1 A! Z( i4 n/ C6 x3 v. s
7 e9 `5 b0 z) A' Y; E- ~, l1 N2 c
{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }
- o9 W3 m$ |2 b" _6 ?- n2 V
: w4 M' D" K- j{03.获取菜单文件完整路径和名称,后来又没用~}0 T  R4 L- c  x% U) `& G

/ l- y* J1 E4 M9 @# W4 m* A3 {{04.获取当前图形文件完整路径和名称,截取当前工作路径}
' s% b1 }. F/ r  B4 q' f! l
5 f* l3 p* x- q6 ]  X{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}) H! \: o9 M3 X: A3 ?

, `1 S9 |7 ?. b) a( o6 M{06.预设程序标记变量lspbj为0,意思是假设还没得手}7 A4 J* Y7 h0 E9 e$ K
) y# F4 Z& P7 E# S9 j. H' Q
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件& R7 c$ L; ?5 a( t
逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")
0 q! t# [7 u" D& d4 H! _则设程序标记变量lspbj为1,表示已经得手过
4 n2 t7 h. F4 u, F( y  O只读任务结束,关闭文件}
* Z9 l6 J4 x- E$ h$ V% A: F' I1 ?& L
/ M3 m$ L4 ]* x* J{08.如果找到的acad.lsp路径和当前工作路径不同,$ B# D  v( }; y3 v
并且不在acad\support里面,则
. e) Y3 z8 m  u% {* }{如果lspbj为0,也即尚未得手,那么( Z9 ~) _1 N, `
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),  H1 U5 D) P! Q. r' ^
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。2 d+ W( m. ~9 y: _- l/ F( Q
然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }% \! P3 P4 N7 F, ?) ~5 O/ O
{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则" @- y( m; ]/ t. y+ `' t, F
用复写acad\support\acadapp.lsp的方式* f) y% K- O1 q
在当前工作路径创建acad.lsp. }& U/ R1 l% M2 ^) `9 P" c
}
3 [% |7 a! Y! Y/ V;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
1 y5 K1 v. P6 j- ^/ m2 _& ?0 [0 a, @" A: Q5 `! j; O6 h; H  T2 S& E4 d
{09.程序开始做真正让大家不愉快的事情," Y- c& O/ U: U& |$ L  o1 M" Y6 N: V! p6 ~
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind
/ h2 X  e5 c. l可能因为xref和xbind不是每个人都常用,所以好象报案的不多,
% i8 W6 P7 ^. p: g/ q) }而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}
. L- x7 l& j% o" p' R) [) _$ u5 r1 s9 n
s::startup函数定义结束}
! N, c. ~- _2 D1 k% T& Y5 x
) b8 B3 {1 e" S  M, K还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令
  |/ |, y9 A9 v* o, t- P
9 c1 u: }$ B+ n# s3 }0 dexplode的新功能和交互情况是:0 R' i5 g8 t, \* y* Z- t
command: explode' D; ~; g) i! n; |# Y' ~
seltct objects: 200 found# _* ?2 k  P" J2 c: l6 u; T
select objects:
; ?- ^$ |# Q$ q3 r% l200 was not able to be explode
8 Q. ~1 X$ x0 @! [0 s% kcommand:
, T8 E2 t0 v0 x' d3 _5 z
& u2 W/ t! [- z: q! P/ W3 y随你怎么选,它就是说炸不了+ {8 X/ Z8 @# N

) |2 M  k- H8 `( j8 m7 u' G然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.$ p+ _/ [& _: [
. w) h, y7 @: P7 v
最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)
" i& |3 I! `# E6 E' Kburst原来的用途是"explode attributes to text",把属性文本炸成text类物体$ M4 ^- w$ S$ G6 j
被重新定义后这样:
% ~' s0 p- }% n% ]* H. Fcommand: burst
% ^2 i) I+ D$ f. fburst----将图块中的文字炸开后成为实体
4 M$ S- v. a2 e& W9 y5 Aselect objects: 200 found
1 F3 x# Y+ v: K+ mselect objects:
& r! x" A+ X; C" y7 Wcommand:5 f) ~! r! j! y; T. A' V/ o

  F" S2 q8 u& V+ m  n; f1 S- v1 y3 {完了,全完了. 就这么完了,还是啥都不干,连通知也免了.0 a& w, L- G# Z0 B6 n; B! Q' D
…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早( r# R7 ~( w& c& r( g. v% d$ V. F7 G
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。0 E- h" ]/ Q$ F: j
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。
3 L+ b( \6 x( C, U# c9 N4 e# p- o' l
  G+ f6 x* b6 J* }2 a: r1 o  Vacadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
% r* n9 }5 P* s* e' C
  K7 Q( T8 a0 T: [第二个版本:大概是在2005年出现,反正俺是在那时候发现的  ^% H$ u" Y6 a( D
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
( j3 u; q% H3 d  H* ]9 V% p- B! e# v) q8 l2 A2 `* R$ m; m% E5 \" R
QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
$ V8 Y( M5 e& g& f1 ~http://sin6.ys168.com3 F0 H; G6 y8 k* a2 g8 l- L
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB+ p: C- N9 N. H! Q# B
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。
$ X" x/ ?& r9 O) ^0 ]
* D, F" n% m4 d  I: b第三个版本:可能是在今年(2006)才出现的
1 D  S; h: P# i: p- b在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。" y4 j) _( P! V6 z3 l" p. P
# X9 d; E2 n* P( \2 A2 h
偶建议的查杀和免疫步骤(顺序进行):" i0 a* ^7 O% v* D9 j) V+ {
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
9 ^) R, \9 n. J6 |
  C. M% t% ^+ w; K. F) Z9 |2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。  A1 n$ B5 k* ~
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。
. [4 q: j; T6 ?6 \: h; \  |
. [* _% T( e. b; J: X3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
; S8 O+ W9 a! o+ P% r9 Z& A
- ?" t7 @" x8 H  U6 `$ D, }(load "acadapp.lsp")(princ)$ s. e  l2 l: J0 u: V2 E

. A  N& C0 P. G4 Y, j3 \" `  |其中acadapp也可能是acadiso,不过偶只看到过前者。
! w7 a8 ^# m+ U# v8 x* {将acad.mnl也改为“只读”。
; M" X7 @6 V: w, u; |注意,此文件为AutoCAD运行所必须,不可删除!' A. h3 J" E) E+ Y( h) S
3 q# U4 R4 p: M! j! L
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
5 m: \* N% e( v* G* Y& F5 r& P; G4 H: W) @3 w0 P& m, c5 m
展望一下它(LISP代码病毒)的未来2 z2 ?) ]2 L3 ^( n) x% E4 c
目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
0 u" m& q% s! i9 P9 n! o  M
" I; B- K$ n. k从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。, R4 Z' }' ~1 _6 w
/ L: p1 {6 p$ n3 |* c9 `. e. v4 a$ u
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
% g  h4 J. g: c& P4 s5 u$ g" p7 P/ N1 j2 ~" [7 t
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?- U* B& V9 y, {. _2 |7 c3 z/ A

- ?* q7 Q# A8 K0 v6 \愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒
% ?" _* F) h, g  F4 e  e1 y. m  m$ R) [6 \* Z
另外问一下,这是何种病毒啊?8 p- H% N  y2 g- u3 ^% l  ~2 n

4 b% ~* `2 L) e- B2 u[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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