QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11329|回复: 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文件2 Z4 a4 R. t& L/ [+ a( v6 m& @$ E
浅见,这种lsp包括:
+ g, X4 y- V$ r1 zacad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。
1 h& o* v5 a# m6 T3 A# S" n6 Y2 jacadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。. J" d8 q# m4 S& ~
还有一种先不说了.
- \; Z2 ^) M3 L/ W, H- Q* {. i* E9 {  q% t. I
加载时自动运行的由defun函数定义的函数名2 ?* G  |+ @: v/ F, r" L
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件
) d3 z( B7 }0 d# |可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~2 F8 v: q  v$ A  X. }, b

$ Z2 V  Y+ i$ s. v% r铺垫好了,来看看这个病毒acad.lsp的作用~  x+ S& q% z+ |4 z# p* v; [

( y2 j: E; V5 c9 N# l0 p5 X' \{00.定义自动函数s::startup2 Y5 b1 r& G/ O( D9 l* A
0 {6 h, K  x" D% Y
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,
3 ?- Y) {& s; O4 k2 Q目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
9 B+ ~4 F5 {+ n7 N7 O  o/ B0 H" ?' N: R# k1 ^" F
{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }& r: U! s8 N2 B+ p+ v

; B# Q5 y' J6 ^& i6 W{03.获取菜单文件完整路径和名称,后来又没用~}
( K; y2 {! Y+ b1 G
) G9 A  }  ]$ {, `{04.获取当前图形文件完整路径和名称,截取当前工作路径}
1 \8 E* G" G# m
# p/ S' v. f: C# R{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}
) M, Z1 k+ r! D' }8 b, {
4 |) `0 ]- L( g3 A+ i2 F3 o{06.预设程序标记变量lspbj为0,意思是假设还没得手}# {/ |2 ]5 T) g1 a9 `; @
6 x  j8 K* a/ b  E! i& P! v
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件
/ h" f- }" q) p逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")
$ Y" q# d% |- r" Y( H* c则设程序标记变量lspbj为1,表示已经得手过
3 P2 J- s/ E& f  h' Z& _只读任务结束,关闭文件}  b1 P4 X3 z4 ^. N! \
6 b! ~& g% O/ U4 a4 @
{08.如果找到的acad.lsp路径和当前工作路径不同,: m1 `* n% _6 _" i& F, a
并且不在acad\support里面,则/ W2 n+ V; t0 q* v. U6 N
{如果lspbj为0,也即尚未得手,那么* O4 f$ ^* g$ M4 h6 d5 n
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),2 o0 s! D# q, i2 V' n& a
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
1 W# p' K  [, l0 P. L然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }
/ n3 C# \* N6 O/ @# k4 v{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则& K9 m+ v2 n) C/ |
用复写acad\support\acadapp.lsp的方式
: I1 U# E' A# ~在当前工作路径创建acad.lsp. }' w4 c, ]( B5 a" q. v5 S$ r3 T
}
7 E" G$ J- F! D; ?4 E;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
6 J: G' ]4 |" P1 H7 M$ |
1 O* j. @  C3 \{09.程序开始做真正让大家不愉快的事情,
: s& o: X! G6 ?5 O% U它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind
: _' z& Z: d# f/ o6 u( f9 m可能因为xref和xbind不是每个人都常用,所以好象报案的不多,
  E+ z2 s0 B, ~+ g' ~. V  q! u而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}
& O( p; J6 [5 s% M! J' \- ], G7 |. s# }6 @5 `* {4 W
s::startup函数定义结束}
# ]- \1 X' q1 {/ [
# J+ g" G4 O- n还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令  \4 @/ _# R5 Z: i7 v
6 N5 I' V6 b- `# @! |9 o' u
explode的新功能和交互情况是:
' Z; s) [* @1 ?) A- ccommand: explode  f8 I; b( a$ _8 W+ K
seltct objects: 200 found3 }# y% s; B7 d8 P' ~6 o
select objects:8 @- t" I: U% d1 y4 D7 z7 N2 T9 f& V: ~
200 was not able to be explode- `4 T5 F3 n) N8 j) W, z
command:
1 i5 B2 `; G9 x. g" l0 O4 q
4 c: n$ _! d6 m: |随你怎么选,它就是说炸不了" L+ {5 e1 V9 i. L' u! N
4 q' n- k7 |. T. F1 r/ o
然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.
( a5 G: A, P8 n- H2 r
2 I  z  n) m. B  P  c# ?! \最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)# Y, X+ \3 H' {$ A5 \5 t( b- ]
burst原来的用途是"explode attributes to text",把属性文本炸成text类物体- I- J/ H# V# O1 g& h! H; ~4 }% w3 k
被重新定义后这样:
% x& n" k" l. v( }! v: z% |+ Wcommand: burst( x; b( V8 [" J( ^8 H
burst----将图块中的文字炸开后成为实体. A6 o! R4 j" R: f1 G) [
select objects: 200 found( }; o- c% A, W0 \7 V/ d! k& x
select objects:
( H) `9 `( l8 u2 {" g8 fcommand:
6 V2 }9 [2 z1 R' n. W5 ]& H
! K' b# U9 J* d( n  i完了,全完了. 就这么完了,还是啥都不干,连通知也免了.
! W& x1 k2 Z: M8 [( c6 j…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早) A& @& \7 E# o7 F" Y' J9 j* Q
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。
( z- z" E; _- G9 bacad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。
' l) A: K" L' g/ ~* R
$ E4 I% ^' h% [acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。) S4 X# |" i4 \7 D& y6 K. C! Y) V( f

$ J; J+ h' T! D- U/ `1 L: w第二个版本:大概是在2005年出现,反正俺是在那时候发现的
- J! Q5 H6 {' f5 p  r: b& n+ l2 O7 y+ X在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
# d* a4 G" v% C; w( L' H8 g2 s& p5 b8 F9 u# C
QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
% G! a) }. e/ A7 Jhttp://sin6.ys168.com+ x- `8 j- D0 [" Z) l  `. E
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB" m8 N% s5 F1 u  @
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。- l& r" N5 `0 n# s& K5 n

! c! ?1 y) G5 O8 n8 q* q第三个版本:可能是在今年(2006)才出现的
* t% {( i4 b# J  N4 i7 t; S( r在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。
7 z+ b' l8 A% s& A; v/ l" Z7 H) {0 i9 \8 ^, j9 Z; W
偶建议的查杀和免疫步骤(顺序进行):0 A+ o9 I- G9 ]9 f
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。; k# y% v; Q: \! `

' x9 {9 y0 T' ~/ J9 V3 b4 }2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
* f4 t# u" y0 A6 [& E总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。. l" ~! j$ S! p& N+ M
! J$ b6 c+ ~- \, `% k4 O( a
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。6 W: |8 ~! j0 J0 Z

3 ]: R: S  @" p(load "acadapp.lsp")(princ)
5 M- g$ g- f1 E4 r, C
- u% T  \5 ~/ w5 w7 P, P& J# h其中acadapp也可能是acadiso,不过偶只看到过前者。
8 U1 Z, p4 Y' T4 J* G# Y  O  o将acad.mnl也改为“只读”。
9 ^/ t" I3 R. F+ S& ~注意,此文件为AutoCAD运行所必须,不可删除!
1 N- W# D' U& b; U
- ^% R0 V. D1 M5 }% \$ b* ]1 w以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
9 P& {- z( U9 v
0 u8 R, s" L/ f8 l6 R0 Z展望一下它(LISP代码病毒)的未来: s8 v, p. r2 M% ]
目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。. {; u, `3 {. K! U

" I' |3 `; c- o1 u- P/ h3 p- r% @从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。
% D6 o6 t. Z- ^" o& C
2 d9 N. v7 Z4 i6 X) c" o如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
/ b, r7 {0 [2 {- C% E! v5 P% J# ~) U7 U4 k
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
- G0 x+ I  F- Y+ l: d  }( g) \
2 R4 D1 h1 g0 t9 x+ _2 A愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒( V* I2 d# g8 ]. |1 h/ Z* Y% ?

6 Z( b  |* w3 }: `) s( M9 f另外问一下,这是何种病毒啊?% P# C- |. L$ V- F

6 j' p/ `! t( R1 h8 a4 P[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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