QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11328|回复: 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文件
: r" P, q; @/ B/ o  ]% B浅见,这种lsp包括:8 A, x* F3 K" s# H
acad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。
. H+ w" p8 \$ Nacadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。( g! Z& X& ~7 n9 r
还有一种先不说了.
% d! y$ j7 l) m: x+ ?8 G" p  [2 Y
加载时自动运行的由defun函数定义的函数名0 M9 Z9 D5 I# Q9 u
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件6 p9 ^/ U2 N6 W
可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~
9 d, @) c6 N/ `, ~3 _
+ G$ Z/ w- |3 n- Z0 X: q铺垫好了,来看看这个病毒acad.lsp的作用~( K. Y; j, n. Y0 x3 e& J
( u) K) D$ u1 ~$ _7 K2 d$ ~
{00.定义自动函数s::startup7 A; V9 F2 ?$ V( I8 m$ v; l
( a% W2 |6 j# u$ Y& Q" \
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,* C" O, F) b! g, J4 B6 H
目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
2 r7 J6 {9 H1 u1 X/ }# x! `1 @% m/ `+ g- q9 l
{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }
. _' V" D- c  ^  S" I
  d2 I: a4 W. ]& B% z# I1 @" m{03.获取菜单文件完整路径和名称,后来又没用~}
" R0 o( |' e0 j; i  h* P* q2 F4 V5 R
{04.获取当前图形文件完整路径和名称,截取当前工作路径}
: U( f& n0 e1 q1 |0 o2 d- |- v; }' q. S" `
{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}
8 B3 ]' f  v% e3 z0 F  B
0 s6 M) W5 I9 v  _/ R{06.预设程序标记变量lspbj为0,意思是假设还没得手}
, n  {0 E* J3 \; p3 f' [( g# F1 w5 E  S  G8 I! ^4 }
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件% x; A* J$ b! S( f7 |, f2 \
逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp"); T6 g% w) h& u& g8 H2 j
则设程序标记变量lspbj为1,表示已经得手过
+ c: V$ Q4 ~6 b$ S只读任务结束,关闭文件}
' ]9 E+ U  j% R+ O( {1 M6 s; @% C3 Q% f- `& }
{08.如果找到的acad.lsp路径和当前工作路径不同," ~/ U* w( y+ M, M* w: `. A
并且不在acad\support里面,则6 ~/ k9 p, h" k6 R7 S2 e
{如果lspbj为0,也即尚未得手,那么
8 B# z1 ^- O' e$ }& K7 z$ d就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),
* g* g: B; p' ?即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。5 C; ~& b+ s$ ?9 _( P3 s
然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }
' z6 W9 g) A/ J! y5 u! ^: s{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则
0 M: o5 _# E  E; [" d, q7 r用复写acad\support\acadapp.lsp的方式9 r9 o+ `4 \7 D2 X( _( f! C+ S
在当前工作路径创建acad.lsp. }
2 R+ ~/ g' y. _# M' f}' C! [# l6 e) k: g2 O
;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!1 G8 |; r! Y0 [/ o! P1 d0 o' D

4 ]& V8 I0 R! ]  ~. c{09.程序开始做真正让大家不愉快的事情,
' t  U! n4 E: ]/ z6 ]8 T/ m) v它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind
  _5 e4 t5 @2 l( I% f9 b  M: o' O$ w可能因为xref和xbind不是每个人都常用,所以好象报案的不多,3 v: s4 P7 p7 ~1 U$ U
而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}# Q1 ]) Q! n! S- }3 |. D* f7 H
8 S' Y; X/ P* J! o
s::startup函数定义结束}
6 k2 N8 d+ N8 R5 R  c& g, |/ m7 P/ C
还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令8 p6 c8 l" P- }

$ U5 q; |5 Q  ~/ {explode的新功能和交互情况是:
4 w# ]& j% X; O1 [command: explode/ B0 p9 z! N4 u' {, K9 v3 \
seltct objects: 200 found
6 t9 s  m" [+ T3 A8 _select objects:7 y3 m5 q( Y- Y2 ?
200 was not able to be explode
: r/ {4 E* K/ M, S( \% A( scommand:
( H  M, I/ ?7 v9 e
5 A! P- O0 P( N/ B8 S随你怎么选,它就是说炸不了6 o+ v& w% D: |0 g6 S. j. s
" Y& _9 C2 [7 N. F
然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.
( Q6 |4 f. j0 Q* b3 i4 s! a* @& i. N
最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)
  O; g6 J* h2 U0 _3 |) N: |& }& tburst原来的用途是"explode attributes to text",把属性文本炸成text类物体9 |& _3 ?- t7 H$ Q
被重新定义后这样:
6 D% I. \' Y( V  I; b' G( {command: burst
9 i- r6 x, U9 [! r; n, sburst----将图块中的文字炸开后成为实体# b! B9 Y3 v$ \$ _
select objects: 200 found
8 m& D. g, n( j# pselect objects:6 _. f& v/ Q0 m: b  Z
command:- c( A# S$ Z5 p# G& N

! G8 Y; m. {5 T2 ^+ Q: n完了,全完了. 就这么完了,还是啥都不干,连通知也免了.( k8 L1 {7 T9 k2 G9 y$ X0 Y3 W  \
…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早' w; j2 R4 Q2 d* s* k5 Q" _# i
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。
  v3 I4 @2 N9 l  c+ E) bacad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。
5 Z$ K* R/ c( u, K- b) m( j) x8 _# F+ Y' G' N  P
acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。" Y5 |6 n: j  i; |1 f3 Q, Q+ [
+ G9 s, Y  H5 C* }! ^; a
第二个版本:大概是在2005年出现,反正俺是在那时候发现的: |5 J0 j. E9 F+ r/ r2 @' E' a
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
' o! N5 L  f9 b% G, g
8 b' d- |# O/ I' b/ @# U! lQiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
1 U% d4 q6 z6 D$ q8 Ehttp://sin6.ys168.com( U% o2 ?( X7 e# c; C( ]
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB. `  T( U' v9 }. R0 M  X6 k7 b
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。, C$ L7 i' N% E, e0 _% C( w

8 K3 n8 p* Q  t7 l/ T3 M0 `/ I第三个版本:可能是在今年(2006)才出现的8 L: k; m; w8 y
在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。
( r. P8 t3 T) R3 D
) K9 n( W' K1 v! W2 J偶建议的查杀和免疫步骤(顺序进行):& \; t; U3 W, t1 y$ i2 y
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
; D$ x$ ?4 u% h) n4 W* B# a6 }; Q
! l: b5 L8 d1 r' |2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。8 B# f5 w7 u" _+ [- Y  k: x
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。/ J" |7 f4 \+ M
! j9 i5 _: O* {# A  z
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
: b$ S5 D* L- `. [* c0 S/ W
0 W- L( |/ F+ d7 j) h& @(load "acadapp.lsp")(princ)! ]1 f" e, o# M" _! u. K/ V

5 J8 X7 d) C4 d- ?' \" a/ U7 A其中acadapp也可能是acadiso,不过偶只看到过前者。
5 q1 G/ }+ X5 W+ v# \6 \! W2 j5 {. E将acad.mnl也改为“只读”。7 \' O8 q1 S; i0 o, B
注意,此文件为AutoCAD运行所必须,不可删除!( H5 X/ I! j8 ~" a5 s; O
+ H5 b. c' @8 b3 N
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
, A3 b  \: E6 Q% _& t: K* y( i2 f) V7 X" I9 ?$ R! O/ B
展望一下它(LISP代码病毒)的未来
) f' T1 Q- m( g1 d' i目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
2 O6 {: m0 ~. H6 d. @# Y  C9 G- y7 m4 |5 x. W3 q" Q/ Z9 ]
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。1 x7 w$ R, L; z+ `4 N, x5 X& b

' i7 U/ R$ k+ i9 A如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
- [7 c* T. Q0 ?. c4 K, q( ]& c9 D9 s; z) Z& O) `1 w
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?( l8 w& F0 \5 P) R, O7 g
1 h9 ~* e; S; i9 r% x# n8 T
愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒$ F2 K" j# m) ]" g) U/ o
+ W0 b7 y# p0 ^: L' y: l
另外问一下,这是何种病毒啊?. ^# K- n& ~/ \" L: Q2 v& K& g7 z% H
: M' V7 K7 v2 H: v* G" [1 G
[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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