ftmm 发表于 2017-12-14 14:24:55

12.28日更新-cad病毒免疫的一种有效方法

本帖最后由 ftmm 于 2017-12-29 09:00 编辑

就是cad启动的时候加载下面这句,就可以自动删除和免疫cad病毒
(while (or (setq a (findfile "acaddoc.lsp"))(setq a (findfile "acaddoc.fas"))) (vl-file-delete a))
但是却会误删天正的加载项,例如天正给排水2014是自带acaddoc.lsp
目录在"C:\Tangent\TWT9\sys\acaddoc.lsp"
请问各位高手,我想做到把正常acaddoc.lsp设置为白名单不删除呢?
langke52的帖子帮助很大,天正和cad2012下都能正常运行。
但是新问题又来了,理正建筑的防御病毒功能,不能杀毒,却把病毒文件“acaddoc.lsp”属性改为只读!
导致这个免疫一运行,cad就会卡死......vl-file-delete无法删除只读文件....太坑了....
需要先文件只读去掉,这个代码国外论坛找的,但是怎么用?没看明白....例如我想把文件只读属性去掉。算了,我还是用shell吧,(command "sh" "attrib -rC:\\acaddoc.lsp")通过,

但是如何把 (findfile "acaddoc.fas") 返回的路径写入shell里面呢?
code= attrib -r (findfile "acaddoc.fas") 这个怎么写?

langke52 发表于 2017-12-19 16:34:59

(WHILE (OR (SETQ a (FINDFILE "acaddoc.lsp"))
         (SETQ a (FINDFILE "acaddoc.fas"))
       ) ;_ 结束or
(OR (WCMATCH A "*Tangent*") (VL-FILE-DELETE a))
) ;_ 结束while
含有Tangent文字的路径不删除。病毒会跟文件一起加载,这个FINDFILE不一定找得到

mj0000 发表于 2018-1-1 14:00:56

;;; 设置文件属性
;;; 用这个函数把要删的文件属性设置为0
;;; (setq virus-file (findfile "acad.fas")) ;文件路径
;;; (YX:File-Att_Set virus-file 0) ;设置文件属为0才能删除
;;; (if (vl-file-delete virus-file) (princ (strcat "*** 文件《 " virus-file " 》已经删除 ***\n")));先删除acad.fas
(defun Att_Set (fp code / fp1)
(if (and fp (/= "" fp) code)
    (progn (vl-load-com)
         (vlax-put-property (setq fp1 (vlax-invoke-method (vlax-create-object "Scripting.FileSystemObject") 'GetFile fp))
                              'Attributes
                              code
         )
         (vlax-release-object fp1)
    )
)
)

xinxirong 发表于 2017-12-14 14:38:20

前提是你的lisp要比病毒早加载

ftmm 发表于 2017-12-14 15:02:47

本帖最后由 ftmm 于 2017-12-15 10:03 编辑

我完全不会lisp,自己想了一下大概是:

(while (and(or(setq a (findfile "acaddoc.lsp"))(setq a (findfile "acaddoc.fas")) ) (not (setq a (findfile"C:\\Tangent\\TWT9\sys\\acaddoc.lsp"))))(vl-file-delete a))
逻辑:
a是代表一个文件绝对路径
当a= 1 或者a =2 但是a 不等于 3的时候 就删除a

这句话执行没有错误,但是那个免疫的没有生效,在C:\\Tangent\\TWT9\sys\\acaddoc.lsp 的一样被删除了....

求助,看看应该怎么写才对!

ftmm 发表于 2017-12-14 14:42:49

完全可以做到的.....

bai2000 发表于 2017-12-14 19:16:57

我也在想这个问题

xinxirong 发表于 2017-12-14 22:21:51

我就把天正的lisp全部删除,也不影响画图

ftmm 发表于 2017-12-18 17:11:08

没有人知道么?

前生 发表于 2017-12-19 00:10:54

1:良好的绘图习惯
2:别人发过来的图,特别是压缩文件,先解压,看看有没有*.lsp,fas,vlx 文件,有就彻底删除。
一般不会中所谓的CAD病毒。

有一次闲的没事干,用金山杀毒杀所谓的CAD病毒,TNND,将自己的正常程序都干掉了。

ftmm 发表于 2017-12-19 14:14:57

360cad杀毒也是,完全根据文件名判断...

cabinsummer 发表于 2017-12-19 15:18:17

论坛里虾的杀毒是最好的,懂CAD的人才能写出最好的CAD杀毒软件。网上那些CAD杀毒都是垃圾。
页: [1] 2
查看完整版本: 12.28日更新-cad病毒免疫的一种有效方法