您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > lasp病毒彻底删除方法
关于AutoCAD中的acad.lsp病毒技术2010-04-0611:01:33阅读34评论0字号:大中小一下内容为转载网络资料,对于病毒产生的机理分析得很透彻,转贴在这里有助于使用acad网友们资料一目前AutoCAD有一种lisp代码具备病毒的特征,有一定危害具体情况如下:在有DWG文件里如果带有ACAD.LSP双击打开DWG文件,就会自动加载这个lisp,此lisp的功能是:加载后炸开命令、外部引用等命令失效并更改了一些诸如鼠标滚轮平移功能设置的参数。并且可传染:加载后在你SUPPORT目录下生成一个ACADAPP.lsp,在ACAD.mnl添加(LOADACADAPP)(PRINC)这样以后你打开acad就自动加载了ACADAPP,它在你每个操作过的acad图形文件的文件夹下生成带恶意代码的ACAD.LSP这样如果你复制整个文件夹,或者通过局域网打开图形,就会导致在不同的机器内传染。问题现象:EXPLODE命令失效(同时还有XREF、XBIND);每个编辑过dwg文件的目录下面都会有一个acad.lsp;保存至另一目录时也同时产生acad.lsp;打开别人的文件时,如果该目录下有acad.lsp,那么你必中招。解决办法一:Autocad\\support\\下建立一个acad.lsp的空白文件,并将文件属性置为只读,你自己不会具有二次传染性,可以阻止病毒的扩散.如果中毒就删掉图形目录下的acad.lsp,最好进行网络全体搜索清除清除。(注:此处三个解决方法的描述不大准确,详见后面的资料叙述,因为实验过,只删除这些文件还不能解决问题)解决方法二:用.Explode(在命令前加小数点“.”)可以分解;删除所有这些acad.lsp文件。解决方法三:有个免疫设置的方法,将support目录下的ACAD.lsp设为只读,如果有ACADAPP.lsp就清空后也将其设为只读。资料二病毒名称Harm.Bursted该病毒是使用绘图软件:AutoCAD的内嵌脚本语言的写成,文件名为:acad.lsp可由AutoCAD启动时自动执行,但它不影响图形文件。此病毒使AutoCAD的内部命令-EXPLODE,XREF和XBIND无效,并定义一个新的命令BRUST,此命令将显示如下消息:BURST----将图块中的文字炸开后成为实体资料三中了病毒ASL.Bursted.A病毒之解決方案我的電腦昨日中毒,諾頓掃描後顯示說D:\RECYCLER\S-1-5-21-299502267-2139871995-726345543-1003\Dd44.rar感染ASL.Bursted.A病毒我從網路上各網站找沒有確切的方案,有的說刪掉該檔案有的提供出殺毒小軟件但均無法刪除但我從各論壇的的二次開發看到一段很重要的話:ACAD有个很大的优点就是开放性它有很多开放的接口这给用户自定义以及第三方二次开发提供了极大的方便。ACAD用户化门槛不算高只要有兴趣、有些耐心你总可以亲自动手不同程度地进行自定义。马上要讨论的是关于启动自动化的AUTOLISP接口,这个接口现在被人用来搞了点恶作剧。我花了1天的結果,找出解決方案了試驗如下必須對症下藥-1.卸載AUTOCAD及其相關軟體2.使用AlwaysRight清理移除軟體及接口之軟體來清除上述清除工作完成再重新按裝autocad軟體4.再行掃描已無中毒情形了资料四先给不了解LSP的同志稍微铺垫一下。ACAD有个很大的优点,就是开放性,它有很多开放的接口,这给用户自定义以及第三方二次开发提供了极大的方便。ACAD用户化门槛不算高,只要有兴趣、有些耐心,你总可以亲自动手不同程度地进行自定义。马上要讨论的是关于启动自动化的AUTOLISP接口,这个接口现在被人用来搞了点恶作剧。在ACAD启动或开图时会被自动加载的LSP文件浅见,这种LSP包括:ACAD.LSP,新装的纯ACAD里面没有这个文件。一般由用户自己编写或者第三方软件提供,放在ACAD目录或SUPPORT子夹都可以。ACADR$.LSP,$是系统版本号,比如ACADR14.LSP,在SUPPORT子夹。还有一种先不说了.加载时自动运行的由defun函数定义的函数名就一种,S::STARTUP,它和ACAD.LSP配套,同时不支持其他扩展名为LSP的文件可能是因为这个原因,目标被定位于ACAD.LSP?不知道了,其实不一定非用S::STARTUP,用了那就说明这位大虾是个追求完美的人~铺垫好了,来看看这个病毒acad.lsp的作用~{00.定义自动函数S::STARTUP{01.获取CMDECHO变量,改设为0,一般程序最后会再改回去,目的是悄悄地进村打枪地不要.大家都喜欢这么干}{02.通过搜索base.dcl文件,获取ACAD安装路径(support子夹)}{03.获取菜单文件完整路径和名称,后来又没用~}{04.获取当前图形文件完整路径和名称,截取当前工作路径}{05.获取当前首选ACAD.LSP文件完整路径和名称,截取其路径}{06.预设程序标记变量LSPBJ为0,意思是假设还没得手}{07.用只读方式打开support中的ACAD.LSP,如文件不存在则建立同名文件逐行检查此ACAD.LSP文件内容,一旦发现某行开头为(loadacadapp)则设程序标记变量LSPBJ为1,表示已经得手过只读任务结束,关闭文件}{08.如果找到的ACAD.LSP路径和当前工作路径不同,并且不在ACAD\support里面,则{如果LSPBJ为0,也即尚未得手,那么就在ACAD\support\acad.lsp文件末尾添加(loadacadapp)(princ),即ACAD启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份.}{如果LSPBJ为1,即已得手,且当前绘图不是未命名的新绘图任务,则用复写ACAD\support\acadapp.lsp的方式在当前工作路径创建acad.lsp.}};注:到此为止,ACAD启动时必搜的程序文件路径里面都放好了此acad.lsp!{09.程序开始做真正让大家不愉快的事情,它取消了3个系统预设的命令名:不止explode,还有xref和xbind可能因为Xref和xbind不是每个人都常用,所以好象报案的不多,而explode几乎是所有用ACAD画图的人都难以避免使用的,就显得很典型}S::STARTUP函数定义结束}还没完,前面取消了那3个命令的定义,现在要重新定义它们,幸好这位大虾良心不算坏,只是让命令不起作用或者改成其他加法命令,并没写成破坏性函数或OS命令EXPLODE的新功能和交互情况是:command:EXPLODESeltctobjects:200foundSelectobjects:200wasnotabletobeexplodecommand:随你怎么选,它就是说炸不了然后XREF和XBIND这对难兄难弟双双被改成了insert,交互响应制作很不精良,根本就是空白,可能大虾忽然觉得倦了吧.最后,它还重新定义了BONUS和EXPRESSTOOLS工具集里面提供的BURST命令,其实是个外部函数(c:burst)BURST原来的用途是ExplodeAttributestoText,把属性文本炸成text类物体被重新定义后这样:command:BURSTBURST----将图块中的文字炸开后成为实体Selectobjects:200foundSelectobjects:command:ACAD的支持文件搜索路径(Supportfilesearchpath)ACAD在启动或开新图的时候,在程序进入ready状态前,首先会到支持文件搜索路径里面寻找系统需要的资源,在必须使用的东西全部找齐后,我们才有机会正常开始画图。这种路径分2种:A、在preferences命令对话框的files分页最上面一项可以看到,一般新装的纯ACAD的这种路径包括support[外部命令、函数,图案、线形等资源库等]、fonts[ACAD专用字库、不包括TRUETYPE字体]、help[帮助文档],还可以有bonus\cadtools[bonus资源,选装].通常*.lsp文件都集中在support子夹。B、当前工作路径,就是现在刚打开的那张图的存放位置。acadapp.lsp并不是系统保留的文件名,虽然样子很酷,其实它就是被感染的标志,当然,这个标志不如到处都是acad.lsp那么壮观现在可以分析大家是怎么感染的了。用已经感染的ACAD系统画图根据上文08:{如果LSPBJ为1,即已得手,且当前绘图不是未命名的新绘图任务,则用复写ACAD\support\acadapp.lsp的方式在当前工作路径创建acad.lsp.}这就是说,在这种情况下,它把已经被感染的CAD系统里面的acadapp.lsp克隆到当前工作路径,名字就叫acad.lsp不小心工作路径里面混进了那个acad.lsp文件一旦出现这种情况,即便你的ACAD原来是干净的,也瞬间就被做掉了。还是根据上文08:{如果LSPBJ为0,也即尚未得手,那么就在ACAD\support\acad.lsp文件末尾添加(loadacadapp)(princ),即ACAD启动或开图时自动加载acadapp.lsp并隐蔽命令行反应。然后同路径创建acadapp.lsp文件,作为刚改过的acad.lsp的备份.}克隆这个acad.lsp到ACAD\support,名字改成acadapp.lsp,通过acad.lsp自动加载它。注意,上面的自动加载acad.lsp和这里的通过acad.lsp加载acadapp.lsp效果都是一样的。那么,怎么就被这个acad.lsp给混进了工作路径呢?可能性有很多,比如你通过局域网跟别人共享同个文件夹里面的dwg文件,不幸你的同伴的ACAD先感染了;或者用移动盘在别人,尤其打图公司,那里画图甚至只是开图,不幸别人的ACAD已经感染了,等等这大段代码的自我复制原理很简单。从上面概括下来就是:你的机器是干净的,它[工作路径里的acad.lsp]就把自己复制到ACAD目录;你的机器是感染的,它[support里的acadapp.lsp]就把自己复制到工作路径。只是名字有点变化,被复制的代码是一样的。补充楼上说的关于杀毒、防毒的办法:如果确认未被感染,那么把自己的原来的support\acad.lsp(没有就建一个空文本文件,改成这名字,注意确信改掉扩展名)文件改成只读属性;如果已感染,请采用mnhyyl兄说的办法清除,之后再做前面的步骤(只读acad.lsp);同时安装多个CAD版本的要分别打“只读补丁”。听说ACAD2000上就有VBA做的病毒。现在讨论的这个诚如“一般不管闲事”女士/先生/同志/朋友所说,只是在Lisp上做了些文章。是我看走眼了。删除所有acad.lsp当然可以解决,但未免有些滥杀无辜。如果能下决心跟它和平相处的话,就到放base.dcl的目录下,打开acad.lsp,删除这样的两段:(commandundefineexplode)(commandundefinexref)(commandundefinexbind)以及从(defunC:explode(/pcontold_cmd)到末尾的(princ)之前的)以后开图应该不会有问题了,当然已经感染的目录下的acad.lsp还是要删除。另一个好处是:在ACAD程序目录里留下的这个acad.lsp可以当疫苗,估计是终身免疫的。不过我没有试过,如果不灵权当“疗妒汤”了。资料五最近一段时间论坛关于acad.lsp病毒的消息较多,其实平时养成良好的习惯,是完全可以杜绝的。1.不随便将目录(含cad图纸)拷入本机;不要盲目打开目录下含有acad.lsp文件的图纸。2.经常升级自己的病毒库。3.推荐使用acad2000以上版本,内含程序组加载程序,杜绝了acad.lsp的存在。4.中了acad.lsp病毒也不要害怕,该病毒本身没有
本文标题:lasp病毒彻底删除方法
链接地址:https://www.777doc.com/doc-2883744 .html