首頁  >  文章  >  web前端  >  病毒处理的代码   html病毒_html/css_WEB-ITnose

病毒处理的代码   html病毒_html/css_WEB-ITnose

WBOY
WBOY原創
2016-06-21 08:47:331663瀏覽

病毒描述

在本地的html文件中以js在文件末尾添加一定字符 以达到占用内存的影响

http://anquan.baidu.com/bbs/forum.php?mod=viewthread&tid=395007&page=1#pid2178566

然后呢 

这样处理的病毒感染的文件

java重新写新文件到txt

 import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.io.PrintWriter;public class wz { public static void main(String[] args) { String s1 = "C:\\Users\\Administrator\\Desktop\\ZM\\C++课件--V2"; String s2 = "C:\\Users\\Administrator\\Desktop\\ZM\\newc";		// CopyFile();		File file = new File(s1);		File file2 = new File(s2);		if (!file2.exists()) {			file2.mkdir();		}		if (file.isDirectory()) {			File[] files = file.listFiles();			for (File f : files) {				CopyFile(s1 + "\\" + f.getName(), s2 + "\\" + f.getName()+".txt");			}		}	}	private static void CopyFile(String name1, String name2) {		BufferedReader br = null;		PrintWriter pw = null;		try {			br = new BufferedReader(new FileReader(name1));			pw = new PrintWriter(name2);			String s = null;			while ((s = br.readLine()) != null) {				int a = s.indexOf("</HTML>");				if (a != -1) {					String sub = s.substring(0, a + 7);					pw.write(sub);					break;				}				pw.write(s);				pw.write("\r\n");			}		} catch (Exception e) {			e.printStackTrace();		} finally {			if (br != null) {				try {					br.close();				} catch (IOException e) {					e.printStackTrace();				}			}			if (pw != null) {				pw.close();			}		}	}}

居然文件大小没有改变大小  html 清除了wcripst.EXE的病毒(vbs干扰了微软的文件) 

于是动用c语言

发现一样的是不行的

最后找到改变文件大小的函数是可以搞定的

#include<io.h>#include<fcntl.h>//#include<syspes.h>#include<sys/stat.h>#include<stdio.h>#include<iostream>#include<fstream>using namespace std;void fun(char *name,int n ){	int fh, result;	unsigned int nbytes = BUFSIZ; 	if( (fh = open(name,std::ios::in)))	{		cout<<"File length before:"<<filelength( fh )<<endl;		if( ( result = chsize( fh, n) ) == 0 )			cout<<"Size successfully changed"<<endl;		else			cout<<"Problem in changing the size"<<endl;		cout<<"File length after:"<<filelength( fh )<<endl;		close( fh );	}}   int main(){	char name[128] ="C:\\Users\\Administrator\\Desktop\\ZM\\newc\\1.txt";	FILE* fr = fopen(name,"rb");	int size = 0;	int flag = 0;	char a='c';	int ct=1;	int n=50;	while(n--)	{	fgets(fr);	}	while((a = fgetc(fr))!= EOF)	{		if(a == '<')		{			flag = 1;			continue;		}		if(a == '/' && flag == 1)		{			continue;		}		if(flag == 1 && (a=='H'|| a== 'h'))		{			fgetc(fr);			fgetc(fr);			fgetc(fr);			fgetc(fr);			size = ftell(fr);			break;			 		}		flag = 0;	}	fclose(fr);	fun(name,size);	return 0;}

但 还是不行,,,,

注意在普通的页面中不能以/html判断终结   因为txt/html字段可能在其中

指定文件大小统一改为80kb能省点空间 后面有附件 一份txt


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn