中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » js脚本是否能改为批处理清除logo_1.exe
« [1] [2] »
作者:
标题: js脚本是否能改为批处理清除logo_1.exe 上一主题 | 下一主题
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『楼 主』:  js脚本是否能改为批处理清除logo_1.exe

常经有位兄弟在这里发表过一个js脚本,它确实能把被感染的应用程序中的logo_1.exe病毒分离也来,但是需要手工册除,而且在清理之前要知道哪个被感染。但是我们都知道logo_1.exe这个病毒感染力很强,我们不可能一个一个的去试试看有没有病毒,这样好麻烦。我想如果批处理能自动查找被感染的exe文件并把它分离出来,再通过安静模式册除它,我想效果并不比瑞星差噢!
现在 我也是copy那位兄弟的原码来的噢如下真希望那位高手能把它改成批处理呀!

TaskKill("logo1_.exe");
TaskKill("rundl132.exe");
var form1 = new Form;
form1.Run();
function Form()
{
        var IE = WSH.GetObject("", "InternetExplorer.Application");
        IE.ToolBar = 0;
        IE.StatusBar = 0;
        IE.Width = 350;
        IE.Height = 90;
        IE.Navigate("about:blank");
        var document = IE.document;
        document.body.scroll = "no";
        var window = document.parentWindow;
        document.body.charset = "gb2312";
        document.bgColor = "menu";
        document.body.style.border = 0;
        document.title = "Logo1_.exe 病毒清除工具";
        function AddControl(obj)
        {
                document.body.appendChild(obj);
        }
        function FileBox()
        {
                var obj = document.createElement("input");
                obj.type = "file";
                return obj;
        }
        function Button(text)
        {
                var obj = document.createElement("input");
                obj.type = "button";
                obj.value = text;
                return obj;
        }
        this.Run = function()
        {
                var btnKill = new Button("清除病毒");
                var filebox = new FileBox;
                AddControl(filebox);
                AddControl(btnKill);
                btnKill.onclick = btnKill_Clicked;
                IE.Visible = true;
                try
                {
                        while(!window.closed) WSH.Sleep(1000);
                }
                catch(err)
                {}
                function btnKill_Clicked()
                {
                        if(filebox.value && Check(filebox.value))
                        {
                                if(window.confirm("发现病毒,是否清除?"))
                                {
                                        try
                                        {
                                                Backup(filebox.value);
                                        }
                                        catch(Err){}
                                        Clear(filebox.value);
                                        window.alert("清除了一个病毒。");
                                }
                        }
                        else
                        {
                                window.alert("未发现病毒。");
                        }
                }
        }
}
function TaskKill(Process)
{
        var WinMgmts = GetObject("WinMgmts://127.0.0.1");
        var ProcList = WinMgmts.ExecQuery("select * from win32_process");
        var ProcList = new Enumerator(ProcList);
        while(!ProcList.atEnd())
        {
                if(ProcList.item().Name.toLowerCase() == Process.toLowerCase())
                        ProcList.item().terminate();
                ProcList.moveNext();
        }
}
function Check(SourcePath)
{
        var Code = "MZKERNEL32.DLL\x00\x00LoadLibraryA\x00\x00\x00\x00GetProcAddress";
        var Stream = new ActiveXObject("Adodb.Stream");
        Stream.Open();
        Stream.Charset = "gb2312";
        Stream.LoadFromFile(SourcePath);
        var Body = Stream.ReadText(46);
        Stream.Close();
        return Body==Code;
}
function Clear(SourcePath)
{
        var Stream = new ActiveXObject("Adodb.Stream");
        Stream.Open();
        Stream.LoadFromFile(SourcePath);
        var Body = Stream.ReadText(500 * 1024);
        Stream.Close();
        var Match = "";
        while(Match.length < 21) Match += "\x00";
        Match += "MZ";
        var C = 0, Temp = "";
        while(C< Body.length && Temp.indexOf(Match) <0)
        {
                var Uni = Body.substr(C, 1000);
                C += 1000;
                Temp += Decode(Uni);
        }
        var Position = Temp.indexOf(Match) + 21;
        Stream.Type = 1;
        Stream.Open();
        Stream.LoadFromFile(SourcePath);
        Stream.Position = Position;
        Body = Stream.Read();
        Stream.Position = 0;
        Stream.SetEOS();
        Stream.Write(Body);
        Stream.SaveToFile(SourcePath, 2);
        Stream.Close();
        while(Check(SourcePath)) Clear(SourcePath);
}
function Backup(SourcePath)
{
        var FSO = new ActiveXObject("Scripting.FileSystemObject");
        var File = FSO.GetFile(SourcePath);
        File.Copy(SourcePath + ".logo1_vir", false);
}
function Decode(text)
{
        return text.replace(/([\u0000-\uffff])/g, function($1)
        {
                var uni = $1.charCodeAt(0).toString(16);
                while(uni.length < 4) uni = "0" + uni;
                uni = uni.replace(/(\w{2})(\w{2})/g, "%$2%$1");
                return unescape(uni);
        });
}

2006-10-17 10:01
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


echo TaskKill("logo1_.exe");>>logo_1.js
echo TaskKill("rundl132.exe");>>logo_1.js
echo var form1 = new Form;>>logo_1.js
echo form1.Run();>>logo_1.js
echo function Form()>>logo_1.js
echo {>>logo_1.js
echo var IE = WSH.GetObject("", "InternetExplorer.Application");>>logo_1.js
echo IE.ToolBar = 0;>>logo_1.js
echo IE.StatusBar = 0;>>logo_1.js
echo IE.Width = 350;>>logo_1.js
echo IE.Height = 90;>>logo_1.js
echo IE.Navigate("about:blank");>>logo_1.js
echo var document = IE.document;>>logo_1.js
echo document.body.scroll = "no";>>logo_1.js
echo var window = document.parentWindow;>>logo_1.js
echo document.body.charset = "gb2312";>>logo_1.js
echo document.bgColor = "menu";>>logo_1.js
echo document.body.style.border = 0;>>logo_1.js
echo document.title = "Logo1_.exe 病毒清除工具";>>logo_1.js
echo function AddControl(obj)>>logo_1.js
echo {>>logo_1.js
echo document.body.appendChild(obj);>>logo_1.js
echo }>>logo_1.js
echo function FileBox()>>logo_1.js
echo {>>logo_1.js
echo var obj = document.createElement("input");>>logo_1.js
echo obj.type = "file";>>logo_1.js
echo return obj;>>logo_1.js
echo }>>logo_1.js
echo function Button(text)>>logo_1.js
echo {>>logo_1.js
echo var obj = document.createElement("input");>>logo_1.js
echo obj.type = "button";>>logo_1.js
echo obj.value = text;>>logo_1.js
echo return obj;>>logo_1.js
echo }>>logo_1.js
echo this.Run = function()>>logo_1.js
echo {>>logo_1.js
echo var btnKill = new Button("清除病毒");>>logo_1.js
echo var filebox = new FileBox;>>logo_1.js
echo AddControl(filebox);>>logo_1.js
echo AddControl(btnKill);>>logo_1.js
echo btnKill.onclick = btnKill_Clicked;>>logo_1.js
echo IE.Visible = true;>>logo_1.js
echo try>>logo_1.js
echo {>>logo_1.js
echo while(!window.closed) WSH.Sleep(1000);>>logo_1.js
echo }>>logo_1.js
echo catch(err)>>logo_1.js
echo {}>>logo_1.js
echo function btnKill_Clicked()>>logo_1.js
echo {>>logo_1.js
echo if(filebox.value && Check(filebox.value))>>logo_1.js
echo {>>logo_1.js
echo if(window.confirm("发现病毒,是否清除?"))>>logo_1.js
echo {>>logo_1.js
echo try>>logo_1.js
echo {>>logo_1.js
echo Backup(filebox.value);>>logo_1.js
echo }>>logo_1.js
echo catch(Err){}>>logo_1.js
echo Clear(filebox.value);>>logo_1.js
echo window.alert("清除了一个病毒。");>>logo_1.js
echo }>>logo_1.js
echo }>>logo_1.js
echo else>>logo_1.js
echo {>>logo_1.js
echo window.alert("未发现病毒。");>>logo_1.js
echo }>>logo_1.js
echo }>>logo_1.js
echo }>>logo_1.js
echo }>>logo_1.js
echo function TaskKill(Process)>>logo_1.js
echo {>>logo_1.js
echo var WinMgmts = GetObject("WinMgmts://127.0.0.1");>>logo_1.js
echo var ProcList = WinMgmts.ExecQuery("select * from win32_process");>>logo_1.js
echo var ProcList = new Enumerator(ProcList);>>logo_1.js
echo while(!ProcList.atEnd())>>logo_1.js
echo {>>logo_1.js
echo if(ProcList.item().Name.toLowerCase() == Process.toLowerCase())>>logo_1.js
echo ProcList.item().terminate();>>logo_1.js
echo ProcList.moveNext();>>logo_1.js
echo }>>logo_1.js
echo }>>logo_1.js
echo function Check(SourcePath)>>logo_1.js
echo {>>logo_1.js
echo var Code = "MZKERNEL32.DLL\x00\x00LoadLibraryA\x00\x00\x00\x00GetProcAddress";>>logo_1.js
echo var Stream = new ActiveXObject("Adodb.Stream");>>logo_1.js
echo Stream.Open();>>logo_1.js
echo Stream.Charset = "gb2312";>>logo_1.js
echo Stream.LoadFromFile(SourcePath);>>logo_1.js
echo var Body = Stream.ReadText(46);>>logo_1.js
echo Stream.Close();>>logo_1.js
echo return Body==Code;>>logo_1.js
echo }>>logo_1.js
echo function Clear(SourcePath)>>logo_1.js
echo {>>logo_1.js
echo var Stream = new ActiveXObject("Adodb.Stream");>>logo_1.js
echo Stream.Open();>>logo_1.js
echo Stream.LoadFromFile(SourcePath);>>logo_1.js
echo var Body = Stream.ReadText(500 * 1024);>>logo_1.js
echo Stream.Close();>>logo_1.js
echo var Match = "";>>logo_1.js
echo while(Match.length < 21) Match += "\x00";>>logo_1.js
echo Match += "MZ";>>logo_1.js
echo var C = 0, Temp = "";>>logo_1.js
echo while(C< Body.length && Temp.indexOf(Match) <0)>>logo_1.js
echo {>>logo_1.js
echo var Uni = Body.substr(C, 1000);>>logo_1.js
echo C += 1000;>>logo_1.js
echo Temp += Decode(Uni);>>logo_1.js
echo }>>logo_1.js
echo var Position = Temp.indexOf(Match) + 21;>>logo_1.js
echo Stream.Type = 1;>>logo_1.js
echo Stream.Open();>>logo_1.js
echo Stream.LoadFromFile(SourcePath);>>logo_1.js
echo Stream.Position = Position;>>logo_1.js
echo Body = Stream.Read();>>logo_1.js
echo Stream.Position = 0;>>logo_1.js
echo Stream.SetEOS();>>logo_1.js
echo Stream.Write(Body);>>logo_1.js
echo Stream.SaveToFile(SourcePath, 2);>>logo_1.js
echo Stream.Close();>>logo_1.js
echo while(Check(SourcePath)) Clear(SourcePath);>>logo_1.js
echo }>>logo_1.js
echo function Backup(SourcePath)>>logo_1.js
echo {>>logo_1.js
echo var FSO = new ActiveXObject("Scripting.FileSystemObject");>>logo_1.js
echo var File = FSO.GetFile(SourcePath);>>logo_1.js
echo File.Copy(SourcePath + ".logo1_vir", false);>>logo_1.js
echo }>>logo_1.js
echo function Decode(text)>>logo_1.js
echo {>>logo_1.js
echo return text.replace(/([\u0000-\uffff])/g, function($1)>>logo_1.js
echo {>>logo_1.js
echo var uni = $1.charCodeAt(0).toString(16);>>logo_1.js
echo while(uni.length < 4) uni = "0" + uni;>>logo_1.js
echo uni = uni.replace(/(\w{2})(\w{2})/g, "%$2%$1");>>logo_1.js
echo return unescape(uni);>>logo_1.js
echo });>>logo_1.js
echo }>>logo_1.js
cscript.exe logo_1.js /e:wscript.exe

  我只能改到这里,没有测试,如果不行的话,望论坛其它的高手可以帮你解决一下。


[ Last edited by lxmxn on 2006-10-17 at 11:26 ]

2006-10-17 11:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
utem999
初级用户




积分 135
发帖 54
注册 2006-9-10
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by lxmxn at 2006-10-17 11:24:
[code]
echo TaskKill("logo1_.exe");>>logo_1.js
echo TaskKill("rundl132.exe");>>logo_1.js
echo var form1 = new Form;>>logo_1.js
echo form1.Run();>>log ...

测试 不能通过

2006-10-17 12:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  

  那就只有等高手来解决了。

  我还不会js脚本啊。也可能是在转换为.bat文件的过程中出现错误了。

  你原先那个代码可以成功的么?


2006-10-17 12:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 5 楼』:  

2楼只是把js脚本用BAT来生成, 我想楼主的意思是不用一个文件一个文件地检查, 让BAT自动执行清除病毒. 这好像要改js脚本代码了.

而重定向出错, 可能是一些特殊字符的原故吧, 用^转义一下就可以了...

2006-10-17 22:49
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 6 楼』:  

用 more +n 生成吧,又快又不会出错




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-17 23:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 7 楼』:  

对于楼主中了威金病毒深感无能为力.........
对于杀掉LOGO_1.EXE和rundl132.exe进程,本人推荐ntsd命令
ntsd -c q -p 程序ID

[ Last edited by pip on 2006-10-18 at 00:21 ]



我今后在论坛的目标就是做个超级坏人!!!
2006-10-18 00:18
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by electronixtar at 2006-10-17 23:47:
用 more +n 生成吧,又快又不会出错


  具体怎么实现?可以给出详细的代码吗?学习学习……


2006-10-18 00:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 9 楼』:  

more /?

<%~f0 more +n >xxxx.js




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-18 04:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 10 楼』:  

哎,没办法呀,服务器一中,还没来得及时处理,下面的客户机就以经中啦,现在还同办法彻底清除呀,现在只能在开机的时候调用批处理暂时删除啊,!!
没办法,这个东西连冰点也击穿!!太可怕啦呀,可以说是网吧第一杀手呀!
如下:
del D:\_desktop.ini /f/s/q/a
del D:\logo_1.exe /f/s/q/

2006-10-18 08:42
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 11 楼』:  

写这个病毒的是哪位, 我拜他为师, 哈哈~

2006-10-18 08:51
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by electronixtar at 2006-10-17 23:47:
用 more +n 生成吧,又快又不会出错

不知道兄弟说的 more+n 是怎么样生成呢,能不能弄出来给大家参考一下呢!

2006-10-18 08:53
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 13 楼』:  

如果有个批处理能把全部logo_1.exe都分离出来的话,再用:
del E:\**.logo1_vir /f/s/q/a
这样就事半工倍啦哦!

2006-10-18 09:11
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 14 楼』:  

不会JS,不过能看个大概,就后面的那个函数不大明白,和vbs大不一样。否则可以改写成vbs版的,搞全盘扫描.
不过论坛里面会js的可以修改一下啊,应该很简单的,只要修改function Form()下的this.run就行了,把filebox.value替换为argument之类的东东,把function Form()中this.run以上全部删除.
或者不调用参数,直接用wmi里的datafile全盘搜索exe文件然后直接调用下面那几个函数就行了.

2006-10-18 11:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『第 15 楼』:  

嗯,还是版主有点儿思路,不过还得请求各位英雄各露一手呀,这样的话,我想它的杀毒效果并不比瑞星差呀!

2006-10-18 12:14
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: