QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11324|回复: 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文件: `* n* S" X/ X. }/ m
浅见,这种lsp包括:
) I: q* l7 z& \. a" y" nacad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。0 s' u2 _- _2 M' l
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。
$ y7 ]& ]/ Q( `. w* K还有一种先不说了.8 q! L1 b$ f8 G  g. a
& i: r- b  S. W* v" O; [
加载时自动运行的由defun函数定义的函数名( ~( L/ v" g1 ?" F2 B2 X3 v! S2 \
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件) T+ I- Y5 [* z& i
可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~7 ~! I  K! f# ^4 I  k7 s
3 `7 X! H* H1 Z3 e
铺垫好了,来看看这个病毒acad.lsp的作用~" x5 x# d9 ]0 K* ]$ L0 J) H

- Z; Q( e# v6 F8 \$ M* H" _% I{00.定义自动函数s::startup
" u' q% u. y2 i8 E* o5 ^# H" ^/ ]" ^% D& L$ K
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,
5 O" {3 X& e& r! Q  x0 M" H9 o. S目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
0 {+ R) C; _6 Y5 Q6 b5 r2 {
  q  S+ _$ }4 n# Z& A{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }. ^2 l) w! f8 L4 y: _

1 I; o* Q/ u9 y' ~) @{03.获取菜单文件完整路径和名称,后来又没用~}+ g+ x* E7 _8 I& p3 i1 S( n
0 l5 [) z6 v' A  T& J. o
{04.获取当前图形文件完整路径和名称,截取当前工作路径}
& L2 n" Z% X/ L& n* c( w% b! Z/ ~  ?/ S
{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}
) v* u( X3 M# U+ G* W/ Z# T, f- @) r' ?- V& S' ?5 n/ K
{06.预设程序标记变量lspbj为0,意思是假设还没得手}
3 c% e3 _4 T6 Y/ ?. B& l" `' w8 t6 j  s( x9 y4 w. _- C5 M* L
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件# p' [5 m( d( W2 E0 z4 G) `
逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")9 t; i' ]/ V- {2 E6 F
则设程序标记变量lspbj为1,表示已经得手过3 V7 \5 ~+ J, t  |3 ^$ Y+ ~, y( U* d
只读任务结束,关闭文件}
$ ]( E( R4 A1 t& _
/ I0 q7 g8 x! i% K' d- O8 e{08.如果找到的acad.lsp路径和当前工作路径不同,6 [5 t2 O# s( \. W: J
并且不在acad\support里面,则
8 {( _9 o9 Z4 F1 G5 I+ x8 N- f- A{如果lspbj为0,也即尚未得手,那么7 E3 u) ?8 t) p# y3 J' _
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),
9 l5 n+ R3 X' i' ]即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
4 N- j* K6 f1 q" R然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }3 `# i$ ?* h# J6 I
{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则
( e* ~- o0 {4 a4 O' V2 ?1 \用复写acad\support\acadapp.lsp的方式5 f7 n8 D$ d5 J. E
在当前工作路径创建acad.lsp. }
6 [9 o) M2 _8 @}
& T5 z. N$ w+ k;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
" u, W4 }: q& k1 ?  j/ E% b- A; }) {2 F: _" ]6 N! Q/ i
{09.程序开始做真正让大家不愉快的事情,) L  F- d9 l  I5 ~& U$ x; ]2 t
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind. K& l* I6 z5 W& Z$ X1 {
可能因为xref和xbind不是每个人都常用,所以好象报案的不多,
6 s; M: n9 V' }6 C: M而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}
2 e8 L5 I& }: H* ]! o
5 `% S! z, s" [2 _, u, Fs::startup函数定义结束}
' a* k; ]" V1 o: c; g- u% s" X2 p
/ @9 h  v) f( H3 k还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令7 i4 a+ d7 K* K; ^* c7 q
# B' y* K2 ^: t% ^$ [  u
explode的新功能和交互情况是:
9 J$ @7 L5 _) `! t$ Q; L& U  |command: explode
& h% s) T7 B2 q9 T! q4 V: l% D, xseltct objects: 200 found* a! w  n7 _8 c' \& j4 w1 ?
select objects:% c6 R% [* ?- M/ b% c9 ~7 u
200 was not able to be explode
7 C4 j  K  t8 [: H1 V+ t# X7 a0 Qcommand:2 k) y7 |4 O# Q# ]4 N; \& j
# s+ T4 r7 y- b9 b: i" a8 y
随你怎么选,它就是说炸不了
# K1 \! p$ `3 C2 ^
. y0 L3 w7 y6 a0 U3 v然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.0 A8 }  t6 t( W4 e

1 }' \9 {7 h0 _5 u+ [最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)
3 H, U3 ^% A3 l3 V% N5 O; I7 cburst原来的用途是"explode attributes to text",把属性文本炸成text类物体
) Q6 `; V/ l, Z7 u) ^' D( ]- c0 J被重新定义后这样:
9 R+ N; i! e, X! X1 y7 N6 ~command: burst
/ g; u# N% ^, d9 B: hburst----将图块中的文字炸开后成为实体
/ m' c) W6 }! J5 m6 G3 A( aselect objects: 200 found
; y' i" w6 _$ h/ zselect objects:
$ ]6 T) }! Y; N. C6 tcommand:% q& C3 X& D- h

$ V+ x# x! q7 \: s完了,全完了. 就这么完了,还是啥都不干,连通知也免了.5 [$ C/ k. }  @+ F, y3 J
…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早
" ~' L2 d9 r$ g最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。9 l/ N0 `1 d5 q& l9 D
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。5 ^( J+ U5 y  |+ a7 D
% O3 I2 d8 h6 ?) Z
acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。, U. U( X" t8 u  X0 e9 A2 V

( m0 q$ @, i4 i' s( o第二个版本:大概是在2005年出现,反正俺是在那时候发现的$ m- H) S, U9 l8 ]. _8 H  b8 J8 s
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
$ W# i. i, }5 e, j( Z
- ?6 w+ D9 u4 U" \2 ]( NQiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:, P: R* N# Y2 z/ G4 K, ^1 K
http://sin6.ys168.com
5 t% [% U( Z: E' K$ |在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB
& N6 O- j( [2 t: c它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。4 u7 |6 l0 P7 s6 x: ]8 x0 L
! B* y# j9 v, s# f# N# L* d% B: ?
第三个版本:可能是在今年(2006)才出现的
& y6 Z0 Q9 t0 i4 g( C' x2 G在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。: b6 S& j: N# T

$ h+ j8 O& g2 E. ]7 q* Z偶建议的查杀和免疫步骤(顺序进行):
* W; O; L# k) p5 T* g2 {1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。- \( [) X  b1 _5 D: G6 `
7 ^8 A* c3 W) s  V1 W; x
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
- L4 a7 r' e! d& v4 H7 t/ y总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。
* S6 L! U  f" o2 Y& }
' t& ]- {+ z- S8 K3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
# S! `& w  E. N! z$ @0 Q9 h) D4 I& ~8 N6 o/ j
(load "acadapp.lsp")(princ)5 f: v5 h1 L: S8 ^9 q- V0 h

/ N( C3 f& S( i! S其中acadapp也可能是acadiso,不过偶只看到过前者。8 H9 U$ o3 a7 \" B, U  G) q4 I  z
将acad.mnl也改为“只读”。
% \: Z7 ]9 T( v( R. I# x( T注意,此文件为AutoCAD运行所必须,不可删除!
  C1 |) y5 n. O: D6 t# @# _  M1 Y8 q# e1 y
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
& r) b; y5 l8 I' Q5 C; r6 c
! G! v# K* V  |+ z% w4 b展望一下它(LISP代码病毒)的未来
+ r3 @: u1 s: X' K6 H7 R! P目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。, l3 y& A. c, A3 a& L9 F
% z* w% X+ v- Q% [0 @: t; K& G
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。2 ?# B& n6 S4 x2 S+ z5 j9 ~3 Z5 p
0 W8 k: l5 w3 h) d& M# n
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。; K" {! C, {/ Z8 d8 m) i
9 D: l% L  _2 h& E
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
3 X3 w1 p6 L% [% W1 V- |) Y
) N# x! S# V  a( d7 w' o) }愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒0 c4 ~. T# s- v! u) N

% |/ B  n6 `- n' L% S. `! |另外问一下,这是何种病毒啊?
/ U" P& l. j- g. o& ]/ {4 P) @( v& Y8 `$ D) |/ B0 Y$ P
[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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