QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11334|回复: 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文件% T5 @; t3 q( Z4 [# j. L
浅见,这种lsp包括:
" ?; N; s: {" ?0 _4 ]' n, Tacad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。
& \9 w2 o+ a- Zacadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。
# w. W, J  H. W: Q8 f# c还有一种先不说了.
6 R6 m6 e# l5 ~! M9 c
0 x. d  Z) c* j- W6 p加载时自动运行的由defun函数定义的函数名
% A2 K3 v7 @. |就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件
" P5 e' {. i% t- O& v; ~( L0 t, ]可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~# F, K5 F) @/ ~4 s( _

; g& J6 B% @& Y8 R3 ]8 D7 U! P) X. V铺垫好了,来看看这个病毒acad.lsp的作用~
6 l) a4 C5 |' z$ I" K
% c. j8 E0 k5 d# f6 z3 S{00.定义自动函数s::startup
7 |8 I' b4 C5 r  E2 R% I8 Y" j6 `' L# U
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,3 {# ?7 ]) D4 E+ }5 z
目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
2 d3 \6 f7 H4 g% i% v$ v3 Y& o) G+ j) |' k& Q
{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }+ f: O& @' r5 a; H2 F" A

( e. Y6 F% e6 @) y) k( y{03.获取菜单文件完整路径和名称,后来又没用~}$ y8 U% |& w/ z1 z$ x% l( L

: y7 F! n1 U# ]! m7 ?: c) p, D{04.获取当前图形文件完整路径和名称,截取当前工作路径}9 j* W' V) r8 P" C! r
# |" K/ |* C3 z) B/ W2 A" ~0 Q8 @# F) D
{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}' I* Y- N  [8 R' N
' l: v- ^) a+ L+ u
{06.预设程序标记变量lspbj为0,意思是假设还没得手}% A* v. [" O& \$ ~. i  o
, P# x7 N. t. Y$ L2 o$ }
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件
. \( e$ D. b3 {% }6 ^0 |  k逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")
" v$ u- K: d( Q% Y0 o# G则设程序标记变量lspbj为1,表示已经得手过, v& B/ F5 z/ `  Y; v! W8 e; Z: ~
只读任务结束,关闭文件}! e) k0 H# @! |/ w* ^2 r

- ~# w( n* ~# F; j  u: d{08.如果找到的acad.lsp路径和当前工作路径不同,
, `2 T: I6 S4 N. d/ D( W并且不在acad\support里面,则
5 T" s0 [" m1 b5 V/ B$ U: g! o/ G{如果lspbj为0,也即尚未得手,那么5 U) t  F# J& t$ S
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),6 h! e" j8 P# h/ g
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。8 {( A  T, H6 d. o$ ~+ X
然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }& {1 M" y7 J" j6 s
{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则
* [8 s& o& u: M3 a7 ^+ H  u用复写acad\support\acadapp.lsp的方式2 s6 o1 n& A; Z, s, c& V9 ?
在当前工作路径创建acad.lsp. }* h1 g/ K* R3 @, y" c# G' i
}' ~8 X, O' z! |2 Y- x( N& R9 g, j
;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!0 P, b8 Y: c5 `( G7 b, J2 A$ M

: `1 E% \& W) _6 _3 X5 M) W{09.程序开始做真正让大家不愉快的事情,
! J4 j8 P0 B  B6 V$ X它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind! P1 g" Q( v' a8 C3 f$ K
可能因为xref和xbind不是每个人都常用,所以好象报案的不多,( U* b0 z9 [5 V
而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}2 o. M; a2 i5 u; r: F: ?
: c) P- A/ X, |# Y* t
s::startup函数定义结束}
+ A0 k& z) F2 Z! c. B- V2 \! j2 [7 M! W% p' o9 h3 [* x
还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令
0 s) G/ G# _: l5 F; n9 b4 Z. @; V' ~4 m$ O# N- I6 q
explode的新功能和交互情况是:
) V8 Z$ }5 e/ Q- h- x* z: [command: explode
8 R6 S" s8 b  Z& n0 \seltct objects: 200 found; d1 ^/ K( k7 r# N: b  |4 }
select objects:
% p! ~6 g6 w' ^( @: E' S6 ?200 was not able to be explode
* R/ u2 V3 h. I+ D  r  pcommand:$ E  z% X0 [% s; `3 f  V: ^# A) y  `

* W/ r- M5 r  e+ Q随你怎么选,它就是说炸不了
( ]) y# w6 ]4 Q- r# I+ ~' J6 o0 d/ i0 t% v, o2 t, F. w
然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.
  I9 T& t& N% y, m! ?7 b. V4 R( F5 W/ p8 X, b' _& @
最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)) i$ n% b! m) `) ~& {
burst原来的用途是"explode attributes to text",把属性文本炸成text类物体
& e7 [6 c! P/ x2 S1 ~. e8 N被重新定义后这样:
) ~- n6 S: l! M8 a6 j5 ?* b% B* ycommand: burst: k( ~: w; D$ q( {
burst----将图块中的文字炸开后成为实体
% {2 x1 w. p2 j' Z% b6 t* F6 Rselect objects: 200 found
. z' Z+ u' c3 D5 ?/ [) K% rselect objects:3 }! A- Q! O! v; ]. P' J* ?3 j
command:+ w2 R9 r5 I- D% d" Q  A* y
' m: U, o7 I) |( q( V
完了,全完了. 就这么完了,还是啥都不干,连通知也免了.
& G) h# x: Z6 S) m  W…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早/ S3 p$ _+ K) W
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。
5 d$ F, a% ^9 z' Eacad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。1 ^; ]) A) v0 y- q( e% }6 F7 |9 U* [

9 c8 o$ Y% o4 {5 x/ Kacadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
( l1 T* o1 u& K  a( C7 ^$ w! S3 f- l3 q4 Q
第二个版本:大概是在2005年出现,反正俺是在那时候发现的
! q, l3 |' X  N+ w0 a% K8 D( H在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
: t' x+ c3 v" o8 K& D
% N% V$ x! f0 T1 H" PQiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
3 s. q/ G$ {* i3 C/ uhttp://sin6.ys168.com7 \$ C+ G, N4 }/ r6 j
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB
* W& Y9 s: N, F5 B- z& }它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。& p; Y3 p, K  o" i/ u8 l: G8 K

9 }+ k  `; h7 O  e! k( X# }8 @第三个版本:可能是在今年(2006)才出现的, i4 V6 X) l! i* K
在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。) m; Q" h9 ?# Y3 M7 |
3 ^0 D$ g5 |0 i. M
偶建议的查杀和免疫步骤(顺序进行):6 P& y# W& u2 s+ X" L
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
8 z  `! X! s2 s, t, K8 H/ W4 J% n, L. `1 U0 A' M, C
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。1 T2 ^' J) r, ?( ^% M9 ]5 {
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。" n) F3 F3 G+ L' e
2 p6 `, w$ a: h( Z6 b% S$ g
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
/ i6 G. C5 S  W5 D+ h7 L" p, \. p( ]
(load "acadapp.lsp")(princ)* p9 }+ @* J/ P" n2 q+ f1 [
% ?$ T6 D) z# e' P; v# y
其中acadapp也可能是acadiso,不过偶只看到过前者。
* T) ~5 Z) N; }7 o- R' g! B将acad.mnl也改为“只读”。
5 C/ K- K5 u1 h( Y9 T* }9 [, Q" ~注意,此文件为AutoCAD运行所必须,不可删除!( x2 h0 v  t+ L2 K! P
: h% x$ h& z7 J/ b1 Z; ~3 I
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
' P0 ?1 z6 x5 R- T1 Z
1 q$ d. v* F. R6 y" W7 d展望一下它(LISP代码病毒)的未来
5 ?* L: Y  p2 I5 a5 l2 A( b目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
8 E. ^$ Q$ z( u; R% d% Q: Z: @6 ~9 w  b( O7 Y: ]- }
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。7 k2 Z. ?$ P  A0 e- F: W7 k

$ j0 b- s$ l7 x  v9 ^; D2 b% Y如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。* i2 V4 U$ h7 k+ S, T0 q, y

7 t# b! `  F  n! s9 i4 K另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
) Z4 Y& E6 _  F) H; g; R
7 ?+ k8 `0 F1 o' n愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒# O. |% M' ]+ u! y- r* K
5 X6 c9 m+ S0 O" O' _
另外问一下,这是何种病毒啊?
; [1 V- U' e0 |' v/ s; @9 S4 d9 C# x9 h) o
[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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