中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 可扫苗目录JS查杀logo脚本是否能转换成批处理?
作者:
标题: 可扫苗目录JS查杀logo脚本是否能转换成批处理? 上一主题 | 下一主题
chainliq
高级用户

学无尽止


积分 635
发帖 244
注册 2006-4-15
来自 广西贵港
状态 离线
『楼 主』:  可扫苗目录JS查杀logo脚本是否能转换成批处理?

网吧的机子好多台都中啦logo_1.exe,下面的JS源码可扫苗目录下被感染的应用程序并分离出来.可是一台一台来弄太麻烦啦呀,现在 提供JS源码给各位,希望能改成批处理,一打开它就能自动扫苗D盘并分离出病毒,我们再调用其它命令彻底把它清除,这样我们能在一开机就动行它自动扫苗杀毒,希望各位高手各显神通呀!

TaskKill("logo1_.exe");
TaskKill("rundl132.exe");
var window, lstKill, pnlScan, form1 = new Form;
form1.Run();
function Form()
{
        var IE = WSH.GetObject("", "InternetExplorer.Application");
        IE.ToolBar = 0;
        IE.StatusBar = 0;
        IE.Width = 350;
        IE.Height = 360;
        IE.Navigate("about:blank");
        var document = IE.document;
        document.body.scroll = "no";
        document.body.style.font = "9pt 宋体";
        window = document.frames;
        document.body.charset = "gb2312";
        document.bgColor = "menu";
        document.body.style.border = 0;
        document.title = "Logo1_.exe 病毒清除工具";
        this.Run = function()
        {
                var btnKill = new Button("清除病毒");
                var filebox = new FileBox;
                var grpScan = new Group;
                var grpKill = new Group("快速清除病毒");
                var dirPath = new TextBox;
                var btnScan = new Button("开始扫描");
                pnlScan = new Panel;
                lstKill = new ListBox;
                dirPath.value = "D:\\";
                grpScan.Text.data = "目录扫描";
                pnlScan.Text.data = "准备就绪";
                lstKill.style.width = "100%";
                lstKill.style.height = "2in";
                AddControl(grpKill);
                grpKill.Add(filebox);
                grpKill.Add(btnKill);
                AddControl(grpScan);
                grpScan.Add(dirPath);
                grpScan.Add(btnScan);
                grpScan.Add(pnlScan);
                grpScan.Add(lstKill);
                btnKill.onclick = btnKill_Clicked;
                btnScan.onclick = btnScan_Clicked;
                IE.Visible = true;
                try
                {
                        while(!window.closed)
                        {
                                if(btnScan.disabled)
                                {
                                        try
                                        {
                                                var FSO = new ActiveXObject("Scripting.FileSystemObject");
                                                var Folder = FSO.getFolder(dirPath.value);
                                                FolderList(Folder);
                                        }
                                        catch(err)
                                        {
                                                window.alert(err.message);
                                        }
                                        btnScan.disabled = false;
                                        window.alert("扫描完成。");
                                }
                                WSH.Sleep(1000);
                        }
                }
                catch(err)
                {}
                function btnKill_Clicked()
                {
                        var FilePath = filebox.value;
                        if(FilePath && Check(FilePath))
                        {
                                if(window.confirm("发现病毒,是否清除?"))
                                {
                                        try
                                        {
                                                Backup(FilePath);
                                        }
                                        catch(Err){}
                                        while(Check(FilePath)) Clear(FilePath);
                                        window.alert("清除了一个病毒。");
                                }
                        }
                        else
                        {
                                window.alert("未发现病毒。");
                        }
                }
                function btnScan_Clicked()
                {
                        while(lstKill.options.length) lstKill.options.remove(0);
                        btnScan.disabled = true;
                }
        }
        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;
        }
        function TextBox()
        {
                return document.createElement("input");
        }
        function Panel()
        {
                var Div = document.createElement("div");
                Div.Add = function(Obj)
                {
                        this.appendChild(Obj);
                }
                Div.Text = document.createTextNode();
                Div.Add(Div.Text);
                Div.style.overflow = "hidden";
                return Div;
        }
        function Group(Title)
        {
                var fieldset = document.createElement("fieldset");
                var legend = document.createElement("legend");
                fieldset.Text = document.createTextNode();
                fieldset.Text.data = Title;
                legend.appendChild(fieldset.Text);               
                fieldset.Add = function(Obj)
                {
                        this.appendChild(Obj);
                }
                fieldset.Add(legend);
                fieldset.style.marginBottom = "2mm";
                return fieldset;
        }
        function ListBox()
        {
                var select = document.createElement("select");
                select.multiple = true;
                select.Add = function(text)
                {
                        var opt = window.Option(text);
                        select.options.add(opt);
                }
                return select;
        }
}
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\x00\x00|\x00\x00BKwdwing@";
        var Stream = new ActiveXObject("Adodb.Stream");
        Stream.Open();
        Stream.Charset = "gb2312";
        Stream.LoadFromFile(SourcePath);
        var Body = Stream.ReadText(60);
        Stream.Close();
        Body = Body.replace(/[\s\S]\x00\x00BK/, "|\x00\x00BK");
        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();
}
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);
        });
}
function ScanFiles(Folder)
{
        var Files = new Enumerator(Folder.Files);
        while(!Files.atEnd())
        {
                if(Files.item().Name.slice(-4).toLowerCase() == ".exe")
                {
                        var Path = Files.item().Path;
                        pnlScan.Text.data = Path;
                        if(Check(Path))
                        {
                                try
                                {
                                        Backup(Path);
                                }
                                catch(err){}
                                while(Check(Path)) Clear(Path);
                                lstKill.Add(Path + " (OK)");
                        }
                        WSH.Sleep(50);
                }
                Files.moveNext();
        }
}
function FolderList(Folder)
{
        ScanFiles(Folder);
        var Folders = new Enumerator(Folder.SubFolders);
        WSH.Sleep(50);
        while(!Folders.atEnd())
        {
                if(Folders.item().Path.match(/\\/g).length > 255) continue;
                pnlScan.Text.data = Folders.item().Path + "\\";
                FolderList(Folders.item());
                Folders.moveNext();
        }
}

[ Last edited by chainliq on 2006-10-18 at 15:16 ]

2006-10-18 15:12
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (86682419)  编辑帖子  回复  引用回复
electronixtar
铂金会员





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

貌似一帖多发了




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 21:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chainliq
高级用户

学无尽止


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

哈哈,应该不会是的啦,以上那个是没这个功能完整,真不好意思!

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

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: