Javascript寫了一個(gè)清除“l(fā)ogo1_.exe”的殺毒工具(可掃描目錄)
中了“l(fā)ogo1_.exe”病毒請(qǐng)上網(wǎng)查找相關(guān)清除方法,本工具只是清除被感染文件里面的病毒,因沒(méi)有太多時(shí)間,沒(méi)做注冊(cè)表自動(dòng)恢復(fù)功能;)
中毒的現(xiàn)象:會(huì)在所有含有exe文件的目錄下建立一個(gè)隱藏的“_desktop.ini”文件,里面記錄了病毒感染的日期。如果刪除該文件,病毒會(huì)重復(fù)感染已感染的應(yīng)用程序并重新生成“_desktop.ini”文件;很多被病毒感染的應(yīng)用程序會(huì)出現(xiàn)很模糊的ICO圖標(biāo)。
網(wǎng)上傳說(shuō)該病毒每三分鐘活動(dòng)一次哦,還說(shuō)新裝的機(jī)器在帶毒的網(wǎng)絡(luò)工作,三分鐘之內(nèi)就會(huì)被遭毒手,裝新系統(tǒng)的朋友小心了。
為防止不小心的朋友運(yùn)行病毒文件,我已經(jīng)將“.exe”后綴去掉了。大家可以添加“.exe”后綴名對(duì)比殺毒前和殺毒后的ICO圖標(biāo)變換情況。
再次提醒:未使用本工具清除“病毒樣本”里的病毒之前,千萬(wàn)別運(yùn)行“病毒樣本”程序。否則馬上中標(biāo) :D
保存為:Logo1_Kill.js運(yùn)行即可
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 = "準(zhǔn)備就緒";
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("發(fā)現(xiàn)病毒,是否清除?"))
{
try
{
Backup(FilePath);
}
catch(Err){}
while(Check(FilePath)) Clear(FilePath);
window.alert("清除了一個(gè)病毒。");
}
}
else
{
window.alert("未發(fā)現(xiàn)病毒。");
}
}
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();
}
}
- JS調(diào)用安卓手機(jī)攝像頭掃描二維碼
- Node.JS中快速掃描端口并發(fā)現(xiàn)局域網(wǎng)內(nèi)的Web服務(wù)器地址(80)
- js微信掃描二維碼登錄網(wǎng)站技術(shù)原理
- JavaScript基礎(chǔ)之靜態(tài)方法和實(shí)例方法分析
- 基于JavaScript canvas繪制貝塞爾曲線
- JavaScript實(shí)現(xiàn)小球沿正弦曲線運(yùn)動(dòng)
- JavaScript模板引擎原理與用法詳解
- JavaScript基于數(shù)組實(shí)現(xiàn)的棧與隊(duì)列操作示例
- JavaScript實(shí)現(xiàn)的鼠標(biāo)跟隨特效示例【2則實(shí)例】
- 使用Sonarqube掃描Javascript代碼的示例
相關(guān)文章
Taro小程序自定義頂部導(dǎo)航欄功能的實(shí)現(xiàn)
這篇文章主要介紹了Taro小程序自定義頂部導(dǎo)航欄功能的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12JavaScript實(shí)現(xiàn)下拉列表選擇框
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)下拉列表選擇框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10layui 解決form表單點(diǎn)擊無(wú)反應(yīng)的問(wèn)題
今天小編就為大家分享一篇layui 解決form表單點(diǎn)擊無(wú)反應(yīng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10微信小程序使用scroll-view標(biāo)簽實(shí)現(xiàn)自動(dòng)滑動(dòng)到底部功能的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了微信小程序使用scroll-view標(biāo)簽實(shí)現(xiàn)自動(dòng)滑動(dòng)到底部功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-11-11JS清除文本框內(nèi)容離開在恢復(fù)及鼠標(biāo)離開文本框時(shí)觸發(fā)js的方法
多網(wǎng)站的需要填寫的文本框在默認(rèn)狀態(tài)下都會(huì)給出一個(gè)默認(rèn)的提示語(yǔ)言,當(dāng)鼠標(biāo)點(diǎn)擊此文本框的時(shí)候能夠?qū)⒗锩娴哪J(rèn)文本清除,當(dāng)刪除輸入的文本且焦點(diǎn)離開文本框的時(shí)候再將默認(rèn)的文本寫入文本框2016-01-01Web?Components使用生命周期回調(diào)函數(shù)實(shí)例詳解
這篇文章主要為大家介紹了Web?Components使用生命周期回調(diào)函數(shù)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10JavaScript 中文轉(zhuǎn)拼音實(shí)現(xiàn)代碼 有些bug
在做項(xiàng)目時(shí)候遇到一個(gè)小小的顯示客戶部門名稱(拼音)的業(yè)務(wù),就是在部門名稱下有相應(yīng)的拼音,而在現(xiàn)有的數(shù)據(jù)庫(kù)中沒(méi)有相應(yīng)字段,并且部門數(shù)量比較多,添加起來(lái)比較費(fèi)時(shí),就想能否在js中實(shí)現(xiàn),在頁(yè)面中處理。2010-03-03JS實(shí)現(xiàn)簡(jiǎn)單的頂部定時(shí)關(guān)閉層效果
這篇文章主要介紹了通過(guò)JS實(shí)現(xiàn)的簡(jiǎn)單頂部定時(shí)關(guān)閉層效果,需要的朋友可以參考下2014-06-06