QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1天前
查看: 11347|回复: 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文件
; @" E1 c) ]! M+ J浅见,这种lsp包括:. J. [1 ^7 y) C5 c+ P9 Z+ c) o
acad.lsp,新装的纯acad里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在acad目录或support子夹都可以。, b/ n/ I& K) R/ s, {" x1 p$ {
acadr$.lsp,$是系统版本号,比如acadr14.lsp,在support子夹。; a7 U2 I; o7 f) t
还有一种先不说了.8 l  j$ {: o& K$ i# O
1 Z/ M5 o9 ^7 l) {6 N
加载时自动运行的由defun函数定义的函数名
  o' D3 f9 H8 A0 s$ @: M就一种,s::startup,它和acad.lsp配套,同时不支持其他扩展名为lsp的文件& ?$ e) X. I2 @7 l8 \7 c% g
可能是因为这个原因,目标被定位于acad.lsp? 不知道了,其实不一定非用s::startup,用了那就说明这位大虾是个追求完美的人~
+ `3 L: z  s& D) l& L% `
  P% y- B" L' X) `( d0 ]! O铺垫好了,来看看这个病毒acad.lsp的作用~- M/ a6 K, u& _' a

& Q: T: v8 p1 a9 a, y: L+ z{00.定义自动函数s::startup+ q7 Q& ^5 I9 e
: K1 h; u$ T3 T% Z+ a9 T
{01.获取cmdecho变量,改设为0,一般程序最后会再改回去,8 m3 a2 O7 f0 ^4 |8 ]! B5 h
目的是悄悄地进村打枪地不要.大家都喜欢这么干 }
3 a. O) X6 `, e; J- `8 k4 @
- L: X9 o8 @7 u  n4 E{02.通过搜索base.dcl文件,获取acad安装路径(support子夹) }
2 o; E  S4 @& q/ o2 V
5 ?/ h1 v5 f" X( |6 }; q{03.获取菜单文件完整路径和名称,后来又没用~}
8 y& ]3 Y5 ?9 C$ Q
1 y* o9 J2 K" g{04.获取当前图形文件完整路径和名称,截取当前工作路径}
. i. L2 Y* e& j! m8 X8 M. s1 g
" ]2 O. ?) \; ^1 e0 c# i{05.获取当前首选acad.lsp文件完整路径和名称,截取其路径}, T1 U5 M* T; i: Z: o1 S

; k, Q9 [( }. K{06.预设程序标记变量lspbj为0,意思是假设还没得手}  H. `8 M! Z# N  C9 d6 G$ |' w% M
- \. _* O1 ~6 o$ v5 e( u
{07.用只读方式打开support中的acad.lsp,如文件不存在则建立同名文件
2 x7 Q& p  X6 q逐行检查此acad.lsp文件内容,一旦发现某行开头为(load "acadapp")
- c- p9 e6 x4 R* u4 ?8 K则设程序标记变量lspbj为1,表示已经得手过) ]) T5 H; j, y: r  O, }3 I; \; g
只读任务结束,关闭文件}6 ~1 v5 t% v  E+ t
2 i, t! @) E( E' {
{08.如果找到的acad.lsp路径和当前工作路径不同,9 o4 M) X7 _  a3 N. m$ }
并且不在acad\support里面,则' ]6 @: K* R1 g9 S! L( M2 q& n
{如果lspbj为0,也即尚未得手,那么" Y0 J) F( q% M. n( A9 |  l8 u
就在acad\support\acad.lsp文件末尾添加(load "acadapp")(princ),# E- l1 r# v6 K0 t
即acad启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
0 w. U& ^- Y5 ]1 R" \8 ^( F4 O然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }( ^* S$ L8 Z$ A) c6 I9 R2 l
{如果lspbj为1,即已得手,且当前绘图不是未命名的新绘图任务,则
% k" j$ B' W" [4 F: e( `* H' |! b用复写acad\support\acadapp.lsp的方式
! k7 g' |0 A1 m5 ?# s在当前工作路径创建acad.lsp. }- c5 M4 g& A5 ~  G& W" z# g. L
}* c( d0 G5 }+ p% @0 q
;注:到此为止,acad启动时必搜的程序文件路径里面都放好了此acad.lsp!8 U0 d# @% [$ ?, {$ X* X

- a; M7 r+ e6 |2 \1 n{09.程序开始做真正让大家不愉快的事情,) R4 U6 l/ i# L) U  y; ]8 Z* i3 u
它取消了3个系统预设的命令名: 不止explode, 还有xref和xbind3 ]& b7 g) n0 v" T, y
可能因为xref和xbind不是每个人都常用,所以好象报案的不多,( g* |0 l! F% s/ x! R& R2 U
而explode几乎是所有用acad画图的人都难以避免使用的,就显得很典型}
( j4 @1 B& E5 J
. R1 O; A5 V6 e, U2 ]: |) ]s::startup函数定义结束}- T8 M( w. B$ Y" d1 h/ G4 u
8 @! z2 [7 u6 K
还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或os命令2 ?- p+ s5 L: ^! X: Z9 i5 f

7 N( Y9 S6 P! `2 l- _- jexplode的新功能和交互情况是:
) x6 o" ^9 @' c" @4 ycommand: explode
& {/ W6 `- ?: r0 ?seltct objects: 200 found
5 j" o9 ^& W) B9 E) m3 K4 d9 aselect objects:
' B* Y" p9 F2 v1 N" I200 was not able to be explode
- l" {1 r5 {  ~. g4 x) jcommand:
' ?& i# A  I+ [2 r$ R# b1 K9 j/ T; Z; m& U, ^2 ]4 }7 u- E; E2 G) n0 l8 B
随你怎么选,它就是说炸不了
9 v- ~  T! @8 @1 M: s5 D/ f* T" N/ e
然后xref和xbind这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.
8 ]; o/ O; M! }( Z% C+ l9 q+ [
7 f$ h7 \! H) @最后,它还重新定义了bonus和express tools工具集里面提供的burst命令,其实是个外部函数(c:burst)/ L* ]+ p5 }1 q
burst原来的用途是"explode attributes to text",把属性文本炸成text类物体5 o8 q8 N0 U% z' X7 Y* [% k5 o! }
被重新定义后这样:+ D6 A: L) R$ p! X- ]
command: burst1 a  h* i2 i& q$ S) R
burst----将图块中的文字炸开后成为实体
3 v# A0 Q( Z+ \1 r* H, f+ vselect objects: 200 found9 l1 D$ y- [8 q5 H% s
select objects:7 m9 o; D4 }. l% J5 j: p0 B
command:
2 W1 O4 o' H7 ?/ C% F
* ^; Q! H. [8 N" L( X* _完了,全完了. 就这么完了,还是啥都不干,连通知也免了.1 ~: }* M! V1 _% Z
…… ……
发表于 2007-6-22 08:31:28 | 显示全部楼层 来自: 中国江苏无锡

转载:

第一个版本:大概是在2001-02年左右出现,也可能更早
8 g$ i6 _8 T3 [8 Y5 [最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。( v% O8 F5 h+ s0 }
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。
9 s% N$ ?0 U# O/ Y- c
+ c" R6 B2 Z" O$ a  Lacadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
$ o/ T2 D) i/ z  m% l5 t8 Y; b* Z# `; t$ `* P  p0 \5 ]3 I
第二个版本:大概是在2005年出现,反正俺是在那时候发现的7 ]+ P( U8 m4 t) u, Y) X
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
* j0 r6 A# x  b- U# x) P/ v9 J2 O6 k/ U# Z
QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:. J' o" `, k$ m" L5 d1 K5 H
http://sin6.ys168.com/ ~) U: L) z. A8 {. S' N6 o+ k
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB
' W! N8 p' E! C! U它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。9 j5 V$ Z+ O3 Y3 w* s: e

$ F, [: m4 X; H) z& m  ]第三个版本:可能是在今年(2006)才出现的
5 H- N1 Y. C  C% `" W在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。: Q1 l2 n3 F4 Q1 m) Z: ?  o
7 S* k1 Z2 \7 e
偶建议的查杀和免疫步骤(顺序进行):
! }( ~+ l% }6 ], E3 l& P  l1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
4 B/ `# P" j4 Z% g6 s' d
  Y" }* K4 N+ W5 U2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。* S( T6 A' @9 G# A1 F2 s
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。! p) o7 w  ]8 t) |! L* h4 f
% R9 Y! n2 J  G
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
  L/ V) N2 O$ A6 {- `  [! t  d& b, N' A! f9 ]
(load "acadapp.lsp")(princ)
+ `# c; X& @  w1 N: c" r
2 J# N5 H  `7 J, Y/ I其中acadapp也可能是acadiso,不过偶只看到过前者。$ u+ m( d* M4 @- V& w  V- k
将acad.mnl也改为“只读”。
# ^4 E" E/ ^5 J- B$ R注意,此文件为AutoCAD运行所必须,不可删除!
& p$ W8 {& b( @% W4 G. n) b- D8 O, j: _9 ~
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。( n: u; q+ v+ P; H* @8 N
" _. |# ^1 @; b4 ?2 F  H
展望一下它(LISP代码病毒)的未来
/ G# D* d1 S- ^' l! t( E# W" K$ Z目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
/ {2 d3 u; E/ g! G3 F; v1 A5 B  C6 S1 [5 v! J2 T2 M
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。
- O1 e4 [: b" Q# G4 J* |3 r
0 t/ u( e5 ^1 i5 k5 O# o如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
' _" u  C6 C$ H  U3 U7 `* `, w$ e+ s/ r2 p6 c
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
0 `5 X  N8 a0 C3 G( ^' o. ?4 o5 m4 B
愿acad.lsp病毒的开发历程就此结束!
发表于 2007-6-22 10:22:54 | 显示全部楼层 来自: 中国上海
我的瑞星把他当病毒杀了
发表于 2007-7-16 18:20:53 | 显示全部楼层 来自: 中国江苏南京
每次打开cad再关闭后都有acad.lsp文件生成,这是一种病毒,用卡巴斯基就可以杀
发表于 2007-7-16 18:36:34 | 显示全部楼层 来自: 中国上海
我也遇到这个问题,还在纳闷中,现在才知道是病毒,马上关闭网络杀毒
1 i& k- a) n6 p! z$ g
1 k0 B; h: e( H/ h- \8 p% y另外问一下,这是何种病毒啊?: O+ T/ Y- e( O# S1 @" o6 q% t

! F* W7 O( [, q[ 本帖最后由 ★新手★ 于 2007-7-16 20:31 编辑 ]
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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