如何用java写个病毒查杀软件
2013-08-14 13:10
176 查看
如何用java写个病毒查杀软件:
题目:在某个目录下,比如有个1.txt的文件(它是隐藏的,且扩展名也是隐藏的),而正好有个可执行文件名为1.txt.exe(自己故意做这样的文件),在你的电脑上显示的是1.txt(扩展名是隐藏的),你一不小心就点击它了,现在下面这个小java软件可以删点1.txt.exe 思路;用的是连个集合,一个装所以的文件,一个装隐藏文件,然后两个容器对比。 也许有更简单的思路,大家可以贴出来一起参考。。。 package IOTest; import java.io.*; import java.util.*; //删除隐藏的病毒
public class VirusTest { public static LinkedList<File> list1=new LinkedList<File>(); public static LinkedList<File> list2=new LinkedList<File>(); public static void main(String[] args) { File f=new File("D:/dir"); list(f);//递归出所有的文件及文件夹,同时把所有的文件放到list1集合里,隐藏文件放到list2集合里
//注意迭代器不能一一比较两个list集合,所以才有下面的for循环 for(int i=0;i<list1.size();i++){ for(int j=0;j<list2.size();j++){ if(list1.get(i).getName().contains(list2.get(j).getName())){ //System.out.println(list1.get(i)); if(!list1.get(i).getName().equals(list2.get(j).getName())&&list1.get(i).getName().endsWith("exe")){
//System.out.println(list1.get(i)); list1.get(i).delete(); } }//end if } }//end for } //依次全部打开文件里所有的文件及文件夹,递归 public static void list(File f){ File[] fn=f.listFiles(); for(int i=0;i<fn.length;i++){ //System.out.println(fn[i].getName()); list1.push(fn[i]);//把所有的文件存进集合1
if(fn[i].isDirectory()){
list(fn[i]); } if(fn[i].isHidden()){ list2.push(fn[i]);//把隐藏的文件存进集合2 } } } } }
题目:在某个目录下,比如有个1.txt的文件(它是隐藏的,且扩展名也是隐藏的),而正好有个可执行文件名为1.txt.exe(自己故意做这样的文件),在你的电脑上显示的是1.txt(扩展名是隐藏的),你一不小心就点击它了,现在下面这个小java软件可以删点1.txt.exe 思路;用的是连个集合,一个装所以的文件,一个装隐藏文件,然后两个容器对比。 也许有更简单的思路,大家可以贴出来一起参考。。。 package IOTest; import java.io.*; import java.util.*; //删除隐藏的病毒
public class VirusTest { public static LinkedList<File> list1=new LinkedList<File>(); public static LinkedList<File> list2=new LinkedList<File>(); public static void main(String[] args) { File f=new File("D:/dir"); list(f);//递归出所有的文件及文件夹,同时把所有的文件放到list1集合里,隐藏文件放到list2集合里
//注意迭代器不能一一比较两个list集合,所以才有下面的for循环 for(int i=0;i<list1.size();i++){ for(int j=0;j<list2.size();j++){ if(list1.get(i).getName().contains(list2.get(j).getName())){ //System.out.println(list1.get(i)); if(!list1.get(i).getName().equals(list2.get(j).getName())&&list1.get(i).getName().endsWith("exe")){
//System.out.println(list1.get(i)); list1.get(i).delete(); } }//end if } }//end for } //依次全部打开文件里所有的文件及文件夹,递归 public static void list(File f){ File[] fn=f.listFiles(); for(int i=0;i<fn.length;i++){ //System.out.println(fn[i].getName()); list1.push(fn[i]);//把所有的文件存进集合1
if(fn[i].isDirectory()){
list(fn[i]); } if(fn[i].isHidden()){ list2.push(fn[i]);//把隐藏的文件存进集合2 } } } } }
相关文章推荐
- Java 报表工具--如何在报表软件Style Report中新建数据表达式列
- Java报表工具技巧:如何在报表软件Style Report中配置Oracle 10g数据源
- 最近流行的病毒(杀毒软件无法查杀)
- 如何使用反编译软件得到java源码
- 杀毒软件的查杀病毒的原理以及木马、病毒的免杀伎俩(论杀或者不杀 )
- 什么是 Java Web Start 软件以及如何启动它
- java环境配置和开发软件Eclipse如何安装
- linux下开源查杀病毒软件clamav的安装
- 杀毒软件的查杀病毒的原理以及木马、病毒的免杀伎俩(论杀或者不杀 )
- 如何使用JSmooth软件将java文件打包发布成exe文件,在没有jre环境的机子上运行(亲测有用)
- Java报表软件--如何在报表系统Style Report中制作环比数据图
- 如何在诺基亚NOKIA手机安装JAVA软件程序
- 如何手动查杀病毒
- AntiVir个人版本,来自德国的免费杀毒软件.可以查杀超过50000种病毒,在很多的期刊的测评中都名列前茅,支持网络自动更新.AntiVir Personal Edition 7.0 (6.34.00.154)
- 主题:Java报表工具技巧:如何在报表软件Style Report中配置Oracle 10g数据源
- 如何配win10 64位系统的java环境,以及下载什么软件写第一个java project比较好
- 没有安装杀毒软件却能查杀病毒
- Java报表软件分页预览中如何设置冻结及冻结效果
- 一个划时代的病毒“鬼影”袭击WinXP系统(重装无法清除)如何防范查杀?
- centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多!