QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
查看: 11348|回复: 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文件& c% h1 z8 J' U7 M3 t* v' q
浅见,这种lsp包括:$ J: i8 L- m' W5 _
acad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。9 j& [( U5 H0 P! P& P6 ^
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。
  P* j" n$ F7 ?( O  |# y还有一种先不说了.
9 q0 p. W1 A  b. `, P$ f% b
! V$ D1 b# Z; n  y' n) [8 w加载时自动运行的由defun函数定义的函数名& }% R9 h8 [" _) Y2 ^: t
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件
- O" |2 g: y; L. k  y" U! a( a4 b1 p可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~7 A) L1 R( s" \
  i* b1 v2 ]) P  a+ b6 @; f: X
铺垫好了,来看看这个病毒acad.lsp的作用~
6 `. d# _0 ^' R( j  s% L9 }
1 j! H2 l. }1 I$ u6 S0 S# ]{00.定义自动函数s::startup1 g  o3 P: s) f# R% S: G  u
* t* c9 m, Y( j
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,! C' R+ c3 S) }9 {# b# {
目的是悄悄地进村打枪地不要.大家都喜欢这么干 }1 ~$ [$ @4 P0 |5 W1 R1 `6 r
# |6 K- k, D3 i4 Q' M
{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }
+ X. t) v# d# q+ Z/ f: W
( M; W7 |# i# f4 E$ P% z" q{03.获取菜单文件完整路径和名称,后来又没用~}
5 B/ b" H( N3 g. n+ D
' {. d% J- |2 _{04.获取当前图形文件完整路径和名称,截取当前工作路径}( y2 }6 S( b! N6 g$ [: P! G
& k! L- A& U) D# a' ?
{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}
" }3 X! L) ^7 E: H2 |* j8 F. A7 {
{06.预设程序标记变量lspbj为0,意思是假设还没得手}
* C# e% U+ H. H) a
0 ^' v5 X9 T0 L" Z5 g  Z{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件
$ l/ I' ?- I8 Z" y* p0 |( }* n8 y逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")
7 e$ n) Z0 P% d; d  C1 P则设程序标记变量lspbj为1,表示已经得手过
* _$ s, y0 U: |' ^只读任务结束,关闭文件}
" n( I+ h9 i0 f6 U( ?" C" y
& n; o# O+ e) B# j* k! g0 Y: Y{08.如果找到的acad.lsp路径和当前工作路径不同,  S+ q$ m6 n, {
并且不在acad\support里面,则
' p. `( j4 C0 S2 v9 _{如果lspbj为0,也即尚未得手,那么
! d- U& j( p" q5 O2 V就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),
9 c. F6 G7 x% u% d( Z% |" M! H+ a即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。, m% l) x2 h) q8 j! V. {& k' {
然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }1 ^7 I5 c+ Y9 s% y9 R$ ~* {
{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则
; ]3 |9 b: J8 K, R3 M" Q用复写acad\support\acadapp.lsp的方式
# `- \( }3 x1 X$ O8 y在当前工作路径创建acad.lsp. }
- z! l" h# K4 Y- ]4 X8 \}
% s6 w' h5 E' ?! A;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
& M6 w# B/ m' {  h/ b, O/ J+ W% ?" l! c: f+ o
{09.程序开始做真正让大家不愉快的事情,  d+ N9 v$ j, b0 a: i/ T
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind: V; }7 `$ L8 S2 y
可能因为xref和xbind不是每个人都常用,所以好象报案的不多,: S( ~7 ?! n! P% w
而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}  H0 ]/ p5 q' {/ S( I8 W/ ]0 [

& q6 \3 n: H) r! T5 d) ~% hs::startup函数定义结束}  ]8 Y, p: o" l- Z$ E

$ [  @6 ^# s# [% G5 E还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令
& D9 E9 H4 R1 K; U0 O) T, ~  U+ N$ V1 W) k9 k# B
explode的新功能和交互情况是:" L- s0 p" L/ B1 U: }, U
command: explode! N( m7 ^% x1 O
seltct objects: 200 found
8 O  n: V$ ?( |7 r  G* F- rselect objects:6 h9 j! S) Y# r1 R5 d: P! C2 j
200 was not able to be explode
2 w3 H: [$ ~, d  c$ r1 p1 Tcommand:$ W, @3 I! ^0 o- Y" d7 [1 K1 f
1 @0 ]# e$ B" l
随你怎么选,它就是说炸不了9 `+ O& K- u5 W# H
0 h; g0 @" u' p+ s: k* S  p1 O
然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.
; @8 p0 ^7 B5 W4 ?" P
+ J0 F6 p1 p, {% H7 X# y最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)$ H! ?0 D# _9 n& }, R% `
burst原来的用途是"explode attributes to text",把属性文本炸成text类物体
( p7 @. D% W8 V被重新定义后这样:
9 L3 n. i( u& I. rcommand: burst
# o9 D- b: r$ Iburst----将图块中的文字炸开后成为实体8 z; b$ y! z7 U- X  B4 [
select objects: 200 found
" L) n# ~/ l+ x' C# m" s; fselect objects:
# Z  ?/ A9 P: ~. ?& g/ Jcommand:
" P8 {% V) Q* F5 y( Z. {/ P3 }: Y3 `" e3 z
完了,全完了. 就这么完了,还是啥都不干,连通知也免了.
% c  \  T: D7 C…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早0 Y( z% p* g% P8 l3 F
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。( D$ x& u: A" Q
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。8 Y2 B$ V: \2 o& u2 ?
* l; D; l7 z5 F# e2 B8 |& y0 N
acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
& D, a: c& q7 d$ j+ a& X6 |( l! n( X# a1 o
第二个版本:大概是在2005年出现,反正俺是在那时候发现的: ~# T% b! E+ O- t" z3 X  R3 Z
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。/ F; @6 }: c0 z1 T4 K

& }& `, D9 q* H. }( cQiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
- X6 x* O1 e# n7 d' ~( lhttp://sin6.ys168.com, W8 P4 _# @4 A
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB; x# T- j* V9 \5 C  y1 a
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。# _  \' L8 D& m5 M- I. r
5 T8 v4 n( Z3 s4 I/ B
第三个版本:可能是在今年(2006)才出现的- ?1 {# J( s0 p, B7 w
在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。2 ?9 B: a6 X4 }- D- c2 q

- [- Z1 I) z3 w/ J偶建议的查杀和免疫步骤(顺序进行):' ~* ]. _4 Q+ I1 d( g
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。6 X# E8 z4 g. y; N* v7 P4 I1 W6 x
, c: i6 ]; L/ ?
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
, ~, G3 d. t- z总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。' P" J& U6 _2 B& O

/ ?3 k0 d7 V2 y4 `3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。5 H1 j5 `, ]5 F$ X3 O2 d: h1 P

+ F- B5 X: P2 o) _8 D, G" y(load "acadapp.lsp")(princ)
7 A& \. h+ |0 l$ `9 a
* I+ ]/ G: o7 p其中acadapp也可能是acadiso,不过偶只看到过前者。7 U/ B" N: l5 |
将acad.mnl也改为“只读”。" n5 R( n! B0 o3 I
注意,此文件为AutoCAD运行所必须,不可删除!
, D3 r0 ~- z( b% O3 D6 ]) u2 ]8 J- D; T" E
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。- Z8 n7 P* `: u; P1 ]

2 {3 v) ~7 d! b7 X) g展望一下它(LISP代码病毒)的未来
* E5 c8 r1 h: t7 n" \/ L# X目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
- g" f1 v5 u2 J% J2 O* b0 q; @
$ E3 E9 g5 o; j从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。* g8 ]6 e8 ~& N5 G' p8 }9 N

  u# b5 |6 T' S& D1 o/ o3 W  y' R$ O如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。( B- G; L; n. f0 y  `1 Y! w3 P
& B6 L' m/ ^) l# J- J5 H. r
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
9 a$ S% R4 X4 b1 [3 P. I) Q
% }) I8 {( d6 T6 J' b愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒' ~/ [# Z- v# S' j: s

/ T4 n3 p4 `& Z5 m: q* Q7 s另外问一下,这是何种病毒啊?
4 `' U% p) y0 Q: X
  m; \% y7 L$ Q$ K3 d: U[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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