QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
查看: 11349|回复: 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文件
, Z5 c. B1 Z& N3 t2 y6 `浅见,这种lsp包括:& B: X$ p6 S5 ^; }( e( O7 W' Z- _, ^
acad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。# c; _* `. l: D9 L% g  V8 Z# V) ]
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。+ Z6 n6 y7 ^4 o. c5 T' m; V7 _
还有一种先不说了.% P" H' U  H$ f( Z1 G

' D% `7 w( R# K7 ?: y( b1 ~6 ^加载时自动运行的由defun函数定义的函数名
; v. v: ?- Y; w就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件9 p- ~& z/ f& W
可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~- y/ L6 ?' N7 w5 c

% h8 u$ }/ k7 }7 S8 |铺垫好了,来看看这个病毒acad.lsp的作用~
* t6 c3 C' j% j, g* m& i0 l" z# H
/ t( V0 R7 ]& P{00.定义自动函数s::startup' K9 a& |$ E+ M1 K& T: [
+ P: S, ~; L! \% M' `
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,
4 D9 |! R( q0 \8 k# J目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
+ A# d" P1 X. }& t7 x
/ O* T- ~) H( b" y{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }1 o; I, Q& @+ l9 s2 }: G4 G2 D9 T
  g' }  ~1 |# G; E$ w' ]! _
{03.获取菜单文件完整路径和名称,后来又没用~}  r! X; f4 a! Q+ r" a
* x6 I5 ]9 O2 G# N$ I8 ?- q
{04.获取当前图形文件完整路径和名称,截取当前工作路径}
& T7 V% y% A/ p! G0 u! D5 @
3 p, \. O4 x/ ?{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}
  R% S0 E% S. `. h; I% D- |( C0 E" W- [' }7 z1 h) d, k9 ~
{06.预设程序标记变量lspbj为0,意思是假设还没得手}
  A2 e$ E- e; y" U: C0 _4 c8 c5 X/ B) s
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件% v& `8 a& Q( v) |
逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")& @0 i. [, Y' x( F6 q" X
则设程序标记变量lspbj为1,表示已经得手过
4 B' Z8 w4 r! I" `. \8 E只读任务结束,关闭文件}, j8 H' x( I3 |) _3 c# y

: F& P2 p, }' ?, @% k8 |, [' ?! E3 ]8 B{08.如果找到的acad.lsp路径和当前工作路径不同,
, Y2 l& P4 c2 `并且不在acad\support里面,则
; Y. j/ ~% S; d# u0 U, |1 n{如果lspbj为0,也即尚未得手,那么7 ]$ V! L! i$ k/ f: ^
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),: B/ z) [& r  u; F/ F
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
# p9 A: X' x. x. D! p/ r然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }
+ {% [- R+ d& v5 ], f{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则! g) v4 v5 ~% f* W; H  i
用复写acad\support\acadapp.lsp的方式
2 J, D5 p% D0 m& ]6 y" E在当前工作路径创建acad.lsp. }
. b- @3 D5 B3 Z; C" }+ X: U4 I}. u# Q* }2 {! ~
;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!
2 j" H! W: _! {& b8 e" B
& A3 f# U6 E7 J5 a5 b8 Y- H8 ?{09.程序开始做真正让大家不愉快的事情,& c/ D7 R/ M4 S7 O
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind
8 C8 }" K6 l' h8 p( E- R3 g) k5 t可能因为xref和xbind不是每个人都常用,所以好象报案的不多,
6 \9 W, z% P$ }而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}; o$ t9 w. E* i7 E
' B% s$ U4 J+ g5 T4 d6 o* r; I
s::startup函数定义结束}
+ p9 o) C9 }! U: V1 ?9 M+ x, p  P! z. L
还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令% r. y& W- e# v8 U# |1 t( j) U
- x- ]! ^$ X2 U. m5 {" c% P
explode的新功能和交互情况是:
9 {8 T! c( x5 f1 [1 M: _command: explode
* ?, t! T! {/ P3 w2 `seltct objects: 200 found! f, l* S8 j& e, a! o* R* c
select objects:
+ c( z7 P# ?+ F, |) n: J' P; C200 was not able to be explode
% d  m# s7 i6 E$ t* s7 fcommand:% x1 o7 ?! l2 W6 k  X

. c+ H# X+ H! T, m/ W随你怎么选,它就是说炸不了
5 g0 M! R2 X  b& g0 v& u5 j
' w5 }# H; a) X3 K. ^然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.9 x$ ?+ y0 r7 d7 ?6 Z( O. q& Z

+ ]6 e! X5 N( f0 E3 v6 {最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)
3 `. p2 R1 m, o2 ^9 V3 Lburst原来的用途是"explode attributes to text",把属性文本炸成text类物体
5 @% F! C6 A4 f% T8 X被重新定义后这样:
7 k2 F* u* F) B, |command: burst8 R" S0 {6 L. s$ S3 s- D
burst----将图块中的文字炸开后成为实体: j! N. X) {! E$ V4 x6 n, a
select objects: 200 found
! R( N) R' J! wselect objects:
6 M8 H; D( o5 w) [" T& }3 _command:, q" G! W7 H  s4 J; ?

6 m, F( l) O0 M+ g完了,全完了. 就这么完了,还是啥都不干,连通知也免了.
. H+ e( a/ p( I# T5 h  G5 Q…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早0 I8 s* A6 c  f' {3 U
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。4 v, @6 J# {/ {( ^0 u
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。. ?: g& P4 X: o

; d; \6 I: o# s& Qacadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。- m9 t; v% ~. D, w- o
5 J  f5 @% i- K2 I7 `' {
第二个版本:大概是在2005年出现,反正俺是在那时候发现的) Y0 C! Q" Q& K; p
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
8 k0 \% ?: C: L  B1 j0 p! K  g; q( U7 \  e% c
QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:1 f# u# D" D) o
http://sin6.ys168.com
' E& q! I: W9 b& Z: R9 ]( g在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB3 a0 M/ I( D/ Z  ^8 k# X5 N  @
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。4 D8 S+ P3 _4 p9 }$ r/ k) u

, I8 l' D2 K! P第三个版本:可能是在今年(2006)才出现的
- ?9 [& u, D4 X  J2 g7 b1 P在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。, |6 i! M$ i/ D6 i
& q% B; E7 L2 @: h3 z9 \. r
偶建议的查杀和免疫步骤(顺序进行):
/ D' K2 I! I' h* Q8 T% d1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
8 V7 V, ]6 T2 M$ |1 G$ i  m# Q) G0 e6 r& o* \" F% \4 C- |
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
5 \. S3 ]: s1 b% d总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。
# {% n/ g8 n3 W8 ^0 M" J& \6 _7 Z( l0 N7 U
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。+ X: g$ \8 ~2 b& i2 J
8 L' m8 m! Y$ S% P- n$ |/ l
(load "acadapp.lsp")(princ)7 h7 l" e* O7 L- N  Y2 f! M% A  X; q
  Z' x( b" J* D( |. h4 d
其中acadapp也可能是acadiso,不过偶只看到过前者。
: b! [" [) R/ E将acad.mnl也改为“只读”。
( f& S, D$ ~9 s0 |. A' [注意,此文件为AutoCAD运行所必须,不可删除!8 [( o) h6 i# c0 ?: [

; A9 A% t& g/ y9 U* |: w! K9 M- v以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。1 [( s# h$ k  O7 g
0 ~% y5 w; R7 y/ g
展望一下它(LISP代码病毒)的未来- r+ o& c" G$ X5 P0 w
目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
: |3 r& D! D, ]  I# X; A
0 N2 C  f9 k5 @. }' l0 w( y7 T从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。% s/ f. O6 I  A& _' {' K6 n; z
, N  {: a+ X; r- P
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。# k! t  \1 {  \3 p: F

0 V& M! b8 b3 }另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
5 w0 H8 i) o5 b/ p( M- w! T) z/ ^- f- `7 ^9 T& t4 T/ l+ f: o
愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒# O/ c" m* t3 u7 Q% `/ f  X6 E
( t& G7 H6 L# H! V# e/ i4 Z" X
另外问一下,这是何种病毒啊?$ k; n  N; o% f3 N

9 `8 W$ g( J, U2 ?0 \/ m( w% t/ A- M[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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