QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 11330|回复: 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文件
% @; H/ ^8 Q* r1 T浅见,这种lsp包括:
8 z. d4 h; [* I7 s  Zacad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。' o1 Q! P  g; z1 w: G, q
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。  C4 \( B1 ]" g
还有一种先不说了.& m& D2 Z, F0 x* x: P* Z- g9 I+ X

: O" @6 u+ G! g5 Y加载时自动运行的由defun函数定义的函数名. c6 l) w8 b. E; y  k
就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件) [! g$ D5 D2 P' F+ w/ M9 G' t2 S
可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~
- m7 y2 ~) G) @5 |
5 O5 O+ D- M. g/ d铺垫好了,来看看这个病毒acad.lsp的作用~0 y& @: r( A; n4 ]! [1 ^& K" J

: V1 ^3 w! a, s- }$ c; R- a& R{00.定义自动函数s::startup
) m' S7 W* A% u
3 Y8 B: A8 x2 b3 P{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,; b- v- G/ p; I7 z
目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
( d  e% ?& L0 R  [$ v- F& @9 [- |9 B- s# z1 G
{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }' T# }3 d, X6 I, j

# y% T6 A, r  @- Q) r  r6 I{03.获取菜单文件完整路径和名称,后来又没用~}
* V* L0 c3 {( G$ T! b8 E& ~; x
/ z0 w2 E3 i1 h2 E; X& K{04.获取当前图形文件完整路径和名称,截取当前工作路径}1 l' d3 v" {3 B; }/ y

6 C& S- L5 S# T2 @+ ?- m6 j{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}( {1 n3 ^" |* P4 D/ e7 u
) M5 `7 n- b) ~' u, ?5 W, I
{06.预设程序标记变量lspbj为0,意思是假设还没得手}# c  W; p+ Z1 G- Z

: f3 s; P  ?3 \8 l- L/ j' c: |2 E{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件, H" H5 |( F( |  P% b: E6 o( O
逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")+ {- k3 _8 v- A' \  T6 @
则设程序标记变量lspbj为1,表示已经得手过
1 i! \& n- f  v8 ?; D) v只读任务结束,关闭文件}3 x" r7 E2 E$ d( a4 @9 Q$ M- w8 k) |
) T* y+ z6 C# Y2 l
{08.如果找到的acad.lsp路径和当前工作路径不同,6 ^% O- w" w' z1 p  t, I
并且不在acad\support里面,则
( m4 Z$ |5 T1 A# d1 B9 d6 `{如果lspbj为0,也即尚未得手,那么
! W# J3 j' ^: [- r6 G$ _5 `就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),# R" S. s0 F. n0 j: G% Y
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
  |" E' P3 m+ J7 ^0 [" ?然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }; e3 z3 M3 J# F( s3 O6 c
{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则$ K! W7 f$ n6 e1 a. I
用复写acad\support\acadapp.lsp的方式
; `" ^* _6 R/ B1 g在当前工作路径创建acad.lsp. }
2 \' L! s4 K  x4 l- c! u$ t5 w! J}$ e' _- g% |/ M; r6 Z2 {
;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
# C* j, b5 G( N8 l
; p, e) u" W- k{09.程序开始做真正让大家不愉快的事情,0 T9 u9 J5 X" M% J
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind
9 w/ ^/ l4 o. Z( O& [9 d( R2 b0 D可能因为xref和xbind不是每个人都常用,所以好象报案的不多,
& @  |7 t# j$ M/ H! Y8 g( o/ ?/ \而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}7 h) a8 M: k+ |: A

. j. ~  t6 ~; z  P; F' Ns::startup函数定义结束}
1 @+ k9 W+ ~' _1 A7 `( K0 X  K/ E3 t" e3 E" y( ?) m
还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令0 E6 G4 R# K, _* ~/ [
8 ^5 E# Q/ E% l' u# j4 f  q
explode的新功能和交互情况是:/ R, W, i; Y3 D/ C) M6 a: w, }6 u
command: explode
' @9 q- Y, d0 Eseltct objects: 200 found
. i$ i6 z3 E( {1 u8 r8 k- @. @& Fselect objects:
; [, d$ \3 Y  C% {200 was not able to be explode
5 h7 `9 e5 U3 B# Z; L. _2 c3 kcommand:
, }, ~$ V3 S9 i7 M. i7 I
, `" E7 z' t$ a/ t( q. k$ x; J随你怎么选,它就是说炸不了
  b' D6 m: z4 K% w
' ~" E7 s0 _- c% h0 q0 b2 a然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.
2 {9 {6 ~2 b* l- {# g  M' L
: ~+ R4 h9 V3 f$ |最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)( ]: r  U, T& n: ~" d9 A
burst原来的用途是"explode attributes to text",把属性文本炸成text类物体
: _* P+ \9 U8 p! |8 H. [被重新定义后这样:# h- u" x4 ^/ a, c, J# F
command: burst: v* M9 A& t$ P9 d  e8 N7 Q' W
burst----将图块中的文字炸开后成为实体9 _" \6 R5 J+ ^* l+ q
select objects: 200 found2 J+ X. X5 x( K
select objects:" `) `- A# ~! d+ s+ Y; z8 L  P
command:
' g0 p" n+ t0 i$ l/ n+ Z$ @* q' J! W  E, d
完了,全完了. 就这么完了,还是啥都不干,连通知也免了.
1 `5 ~: P2 d% i; x) q1 j…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早" a% i! _% o" F9 z7 a4 T0 T
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。4 R2 n: A3 O, g9 ?9 b" G! Y
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。, a: d2 M# @! d' C0 u

- @3 a! m( v9 \. v5 {acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。* L+ M( n2 t/ F* j# o6 i  B: b" d
! P9 K0 L1 x  W# @& W0 S% |9 ?
第二个版本:大概是在2005年出现,反正俺是在那时候发现的( I( g! h3 h3 j, [$ k& G# w+ h- n
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。% V0 x1 U! y0 Y

  M* N2 H0 \  A& B1 f( Q% `QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:- l, O3 C1 `* k9 G1 A/ I5 P- v
http://sin6.ys168.com
& Y( C" d  _. q' r" W* u) Q在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB& n! ~  x6 ]" ?
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。
; H. L) D7 i; }# ?7 {! _
  @# C4 t. L; X* T) k& [第三个版本:可能是在今年(2006)才出现的
, I- H0 k4 F3 l# P! g  S在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。
2 c7 s8 P# u, d/ w" ?  j7 |9 Q" A- H  F9 A2 ~% w# s0 X7 e
偶建议的查杀和免疫步骤(顺序进行):
0 A# a  b# K) ~$ y1 c8 a) W5 k  n( `1 y( i1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。6 q4 ]! d1 K& _2 W2 @5 V' O! c
8 p+ N" l5 T( q8 u" v
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。9 E& d& W( k& p2 B( q* a
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。
; e; b/ [/ L9 n1 d
, z$ Z" c" z+ @# D$ k3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。$ D) {" Q' w) e0 I4 `& w  f" G
; g; F0 `4 F- G/ h1 J$ t" W
(load "acadapp.lsp")(princ)
' T) M: W5 a8 V! @, k8 M& C4 I3 ]
其中acadapp也可能是acadiso,不过偶只看到过前者。' h3 K/ [) D( F* m8 Z% q
将acad.mnl也改为“只读”。
& A$ r6 a  K( O( S( O* d8 c2 ^注意,此文件为AutoCAD运行所必须,不可删除!
( a& ]5 O9 W( I9 C& S% i
; |" E0 j. m5 b- u$ @7 D以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
# A- f0 W+ i8 ]: e! W. k# R8 ~5 R% m8 j7 p8 y3 E8 |
展望一下它(LISP代码病毒)的未来
2 B" R% w9 W1 T4 M- Y6 \目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。" f* W9 c4 K% J2 l: l' s* T: e

# N' o$ V) g' |1 e; h: u% L2 X从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。0 |8 H. ~# r; Z8 O
% x9 Y1 X( Q6 `' R+ {% e) @
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
6 |3 e" ^# V( v4 w( a. H# f; _& ~
/ ?0 r5 E; e: u8 ?, ]: o另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
- r: ~# c" ?/ V4 w0 c7 `* q/ \$ F; J( y% r
愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒) m# B3 ?0 p4 O# Q8 K
. [0 `6 B( a3 |. \' m
另外问一下,这是何种病毒啊?
+ P( o3 z7 H% e" |8 X& ?/ x4 `+ U4 L3 l! Y* f
[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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