Aug
8
最近硬盘发现ACAD.LSP病毒,不知道这个病毒能干些什么。
开头部分的代码:
(defun s::startup (/ old_cmd path dwgpath mnlpath apppath oldacad
newacad nowdwg lspbj wjm wjm1 wjqm wjqm1 wz ns1 ns2
)
(setq old_cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq path (findfile "base.dcl"))
(setq path (substr path 1 (- (strlen path) 8)))
(setq mnlpath (getvar "menuname"))
(setq nowdwg (getvar "dwgname"))
(setq wjqm (findfile nowdwg))
(setq dwgpath (substr wjqm 1 (- (strlen wjqm) (strlen nowdwg))))
(setq acadpath (findfile "acad.lsp"))
(setq acadpath (substr acadpath 1 (- (strlen acadpath) 8)))
有空再研究一下这些代码。
搜到的相关说明:
ACAD.LSP病毒的演变历史
第一个版本:大概是在2001-02年左右出现,也可能更早
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。
acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
第二个版本:大概是在2005年出现,反正俺是在那时候发现的
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
俺在QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
http://sin6.ys168.com好像现在的杀毒软件都能杀了,反正我的卡巴可以
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。
第三个版本:可能是在今年(2006)才出现的
在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。
偶建议的查杀和免疫步骤(顺序进行):
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
(load "acadapp.lsp")(princ)
其中acadapp也可能是acadiso,不过偶只看到过前者。
将acad.mnl也改为“只读”。
注意,此文件为AutoCAD运行所必须,不可删除!
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
展望一下它(LISP代码病毒)的未来
目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
愿acad.lsp病毒的开发历程就此结束!
开头部分的代码:
(defun s::startup (/ old_cmd path dwgpath mnlpath apppath oldacad
newacad nowdwg lspbj wjm wjm1 wjqm wjqm1 wz ns1 ns2
)
(setq old_cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq path (findfile "base.dcl"))
(setq path (substr path 1 (- (strlen path) 8)))
(setq mnlpath (getvar "menuname"))
(setq nowdwg (getvar "dwgname"))
(setq wjqm (findfile nowdwg))
(setq dwgpath (substr wjqm 1 (- (strlen wjqm) (strlen nowdwg))))
(setq acadpath (findfile "acad.lsp"))
(setq acadpath (substr acadpath 1 (- (strlen acadpath) 8)))
有空再研究一下这些代码。
搜到的相关说明:
ACAD.LSP病毒的演变历史
第一个版本:大概是在2001-02年左右出现,也可能更早
最初由两个LSP文件相互支撑:acad.lsp和acadapp.lsp。
acad.lsp这个文件名由AutoCAD默认允许自动加载,支持目前所有AutoCAD版本,经常被第三方软件用来执行正常的系统初始化流程,所以需要查看具体代码内容才能确认是否所有的acad.lsp都是病毒,直接用系统自带的搜索功能删除所有的acad.lsp可能会造成误删,导致一些第三方软件(包括相关用户自定义程序)不能顺利加载。宜使用专杀工具实现快速安全删除。
acadapp.lsp这个文件名在初装的AutoCAD系统中是没有的,更不是AutoCAD必须的文件,至少到目前,它是纯粹的病毒备份文件,文件内容和对应的acad.lsp一致。可直接搜索删除。
第二个版本:大概是在2005年出现,反正俺是在那时候发现的
在第一代acad.lsp病毒专杀工具出现一段日子之后,这个病毒出现了变种,但是变化很小,只是把acadapp.lsp的名字改成了acadiso.lsp,同理,这个acadiso.lsp也可以直接搜索删除。
俺在QiuFeng编写的第一代专杀工具的基础上增加了查杀acadiso.lsp的内容,有需要的TX可到此地下载:
http://sin6.ys168.com好像现在的杀毒软件都能杀了,反正我的卡巴可以
在AutoCAD>>外部工具和补丁>>CheckLsp_1.05.zip 0.6MB
它可以正确识别并查杀acad.lsp、acadapp.lsp和acadiso.lsp等3个文件。
第三个版本:可能是在今年(2006)才出现的
在原有动作的基础上,感染acad.mnl文件,在文件末尾添加加载acadapp.lsp的语句。而且很笨,会添加很多遍。如果发现你的acad.mnl文件的修改时间非常接近当前时间,那就很可能是感染了它的最新变种,打开文件,看文件末尾便可确认。
偶建议的查杀和免疫步骤(顺序进行):
1、使用专杀工具(北京鸿叶的专杀工具只能查杀第一代病毒,好像没看到有升级版本,建议使用偶改写的那个);另外,有些杀毒软件也可以查杀前两代病毒文件,如能实时查杀那当然是最好不过了。
2、把AutoCAD根路径中正常的acad.lsp文件属性改为“只读”,如没有自定义的同名文件也没有第三方的这个文件,则在AutoCAD根路径新建一个名为acad.lsp的空文件(注意一般可能需要先确使windows系统显示已知文件格式的扩展名),并改为“只读”。
总之,最后的结果是在AutoCAD的根路径下,一般是X(盘符):\program files\AutoCAD XXXX(版本号),应该有一个“只读”的acad.lsp。
3、找到acad.mnl文件(一般在support文件夹内),如中招须用记事本(最好不要使用写字板或者word等高级文本编辑器)清除文件末尾的对应代码。
(load "acadapp.lsp")(princ)
其中acadapp也可能是acadiso,不过偶只看到过前者。
将acad.mnl也改为“只读”。
注意,此文件为AutoCAD运行所必须,不可删除!
以上所有改“只读”的目的均为防止日后再次感染,但如果要加装第三方软件,则最好临时取消它们的“只读”属性,待安装完成后再次改回“只读”。否则可能导致第三方软件安装失败。
展望一下它(LISP代码病毒)的未来
目前R14还没有退出市场,该病毒好像还比较最求“广谱”效果,这个就限制了它使用VLISP的热情,事实上它还完全没有使用VLISP函数。虽然这并不等于说ALISP就不能造成很严重的破坏,但实现那些目标多少会让编程者觉得不爽,不如VLISP那么行云流水。
从它的作用效果看,眼下称之为“病毒”似有言过其实之嫌,但从它可以自我复制和传染扩散这方面特征来看,称之为“病毒”也属实事求是。参照AV界(Anti-virus,不是日本的那个AV界)的习惯,不妨称之为“概念病毒”。但是,只要有人愿意,它随时随地都可以变成能够删文件、格盘、改注册表的名副其实的“病毒”。
如果未来VLISP允许二进制读写,那么危险还会更大,所以希望Autodesk最好不要去做这样的功能扩展。
另外,也希望所有LISP开发人员和编程爱好者都能保持善良的人品,不要再写出为害大家的类似程序。依俺管见,此程序只是个思路问题,技术含量不高,并不能体现出编程者的技术水平,何必要把心术放到这个方向上来呢?
愿acad.lsp病毒的开发历程就此结束!
zml84
2009/10/07 09:21
学习了,谢谢
分页: 1/1
1
1
腾讯出品的qq for
[linux]rdesk



