PHP文件在线检测病毒,VIRSCAN 在线病毒检测客户端

/****

本程序以及提供的源码仅供技术交流使用、

作者不作任何类型担保,在任何情况下都不对使用本软件造成的任何损失或任何相应而生、

间接、附带的损失承担任何责任.

****/importwin.ui;importinet.url;importweb.form;importweb.uploadData;importstring.crypt;importinet;/*DSG{{*/varwinform = win.form(parent=...; right=776;acceptfiles=1;bottom=546;scroll=1;text="VIRSCAN 在线病毒检测客户端 1.0";border="resizable")

winform.add(

lbProcess={ dr=1;dl=1;bottom=542;right=773;left=2;top=524;text="";z=1;db=1;transparent=1;edge=1;cls="static"};

static={ dr=1;dl=1;bottom=519;text="";left=7;dt=1;top=32;z=2;db=1;right=767;transparent=1;cls="static"};

progress={ dr=1;bottom=545;max=100;right=765;left=545;top=525;min=0;text="progress";z=4;db=1;hide=1;edge=1;cls="progress"};

lbTip={ dr=1;dl=1;bottom=29;right=458;left=6;dt=1;top=9;transparent=1;text="本程序可在本地计算文件的HASH值,对于服务器已有扫描结果的文件可节省上传时间";z=3;cls="static"}

)/*}}*///创建web窗体varwb = web.form( winform.static,0x40000/*_UIFLAG_THEME*/);

wb.noScriptErr=true;

winform.progress.bottom -= 8

winform.strProgressTipHead ="正在载入...."wb.ProgressChange =function( progress, progressMax ) {if(progressMax!=0){varper = ( (progress / progressMax) * 100) ;if( progress < 0 || per > 100 )

winform.lbProcess.text ="已完成"else{

winform.lbProcess.text = ( winform.strProgressTipHead  ++  per +"%");

}

winform.lbTip.redraw()

}

}

wb.BeforeNavigate2=function( pDisp, url, Flags, TargetFrameName, PostData, Headers, Cancel ) {if(io.exist(url) ){if(winform.progress.hide ==true){

scan(url);

}returnurl, Flags, TargetFrameName, PostData, Headers,true;

}

}

wb.DocumentComplete=function( pDisp, url) {varele = wb.getEle("upload_button");if( ele.style.display !="none"){

ele.style.display ="none"ele.insertAdjacentHTML("beforeBegin",">> 请拖放可疑文件到网页上即可,未知文件自动上传检测。
本客户端使用aardio制作,官方网站:bbs.aardio.com")

wb.getEle("file").style.display ="none"}

}

winform.wndproc =function(hwnd,message,wParam,lParam){select(message) {//判断消息类型case0x233/*_WM_DROPFILES*/{if(winform.progress.hide ==true){varfiles = win.getDropFile(wParam);for(k,vinfiles) {

winform.scaning =true;

scan(v);break;

}

}

}

}

}//打开目标网站wb.go("http://www.virscan.org")

wb.wait("");//等待指定网址,可以使用模式匹配语法wb.script.DelCookie('lang');

wb.script.SetCookie('lang','zh-cn',315360000,'/','.virscan.org');

wb.refresh();

winform.show();

scan =function(path){

winform.lbTip.text ="正在计算文件HASH值..."winform.progress.hide =false;varmd5,sha1 = getFileHash(function(per){

winform.progress.pos = per;

}

,path

)

winform.progress.hide =true;

winform.lbTip.text ="正在检测病毒..."md5 = string.lower(md5);

wb.go("http://md5.virscan.org/"+ md5)

wb.wait();varele = wb.queryEles(  innerHTML="@没有找到md5为";tagName="^DT$");if( #ele){

ele.innerHTML ="未知文件,正在上传文件到 www.virscan.org"ele = wb.queryEles( innerHTML="返回";tagName="^TD$")

ele.innerHTML ="请耐心等待.......";

winform.lbTip.text =varaction = wb.getEle("form_upload").action

action = inet.url.joinpath(wb.location,action)//自动上传文件winform.strProgressTipHead ="正在上传文件并检测病毒...."varformdata = web.uploadData("upload_button=上传","file",path)

wb.post(action, formdata.data ,formdata.header,"upload_iframe");

wb.wait()

winform.strProgressTipHead ="正在载入...."wb.doScript("window.location.href='http://r.virscan.org/report/report/'+ scanid +'.html' ");

wb.wait();

}varele = wb.queryEles(  innerHTML="0\.00\s*\%\(0\/\d+\)";tagName="^A$");if(#ele){

winform.lbTip.text ="恭喜,全部的扫描检测未发现病毒"}else{varele = wb.queryEles(  innerHTML="全部的杀毒软件报告没有发现病毒")if(#ele){

winform.lbTip.text ="恭喜,全部的扫描检测未发现病毒"}else{

winform.lbTip.text ="扫描完成"}

}

}//by lujjjhgetFileHash =function(proc,path,chkMd5=true,chkSha1=true){varmd5 = string.crypt.md5();varsha1 = string.crypt.sha1()varf,err =  io.open(path,"rb");if(!f)error("打开文件失败"+ ..lasterr(),2 )vardwSize = f.seek("end");

f.seek("set");varbufsize = 1024 * 1024;do{vardata = f.read(bufsize);if( !data )break;if(chkMd5)

md5.push(data);if(chkSha1)

sha1.push(data);

proc( f.seek() / dwSize * 100 )

}while( win.delay(1) );

f.close();returnmd5.getHash(),sha1.getHash();

}//进入消息循环win.loopMessage();returnwinform,wb;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值