资源简介

我自己编写的文件夹病毒专杀工具,那个文件夹病毒没有什么大的危害,只是会把文件属性改为系统隐藏,不知道的人以为东西丢失了,我也曾被病毒整过所以才想写这么个东西,当然我不是专业人士,一切从头开始,这个算是我的处女作,关于API入门的源代码,windows7,visual studio 2010下测试通过,希望对大家有所帮助

资源截图

代码片段和文件信息

// kill48KB.cpp : 定义控制台应用程序的入口点。
/*
一个文件夹病毒的专杀工具,很初级的,我是通过编写这个才入门API的,代码在visual studio 2010,windows7 7600下测试通过,我学写的时候苦于没有可模仿的现成的代码,希望帮助那些也想学习API的人
*/
#include “stdafx.h“
#include
#include
#include
#include“Psapi.h“
#include
#include 
#include

//#define _WIN32_WINNT 0x0501
#define BUFSIZE MAX_PATH

using namespace std;

BOOL EnablePriv();   //进程权限提升函数
BOOL TerminateProcessFromId(DWORD PID); //进程结束函数
BOOL KillProcess(); //扫描并查找病毒进程返回PID
VOID ShowInformation(); //打印信息
BOOL CleanVirusFile(); //清除病毒文件
BOOL FileCleaninDrive(LPSTR szDrive); //清除磁盘根目录下的病毒
BOOL GetDirverInfo(LPSTR szDrive); //获取驱动器信息
BOOL CleanRegister(); //清除注册表信息
BOOL RepairTheDamage(LPSTR szDrive); //修复被病毒更改的属性


int _tmain(int argc _TCHAR* argv[])
{
SetConsoletitle(“48KB-Killer“);
ShowInformation(); //输出信息
double RunTime[2]={0.00.0};
RunTime[0]=(double)clock()/CLOCKS_PER_SEC;

EnablePriv(); //提升进程权限
KillProcess(); //结束进程
CleanVirusFile(); //清除病毒母本及副本
CleanRegister(); //清除病毒启动项
for(int i=0;i RepairTheDamage(argv[i+1]); //按传入参数扫描磁盘恢复被病毒修改的属性
}
RunTime[1]=(double)clock()/CLOCKS_PER_SEC;
printf(“\n          *****************************************\n“);
printf(“\nAll Finished  totally using time : %.3lf seconds\n“RunTime[1]-RunTime[0]);
printf(“Best wishes to you & your computer! #^_^\n“);
printf(“\nYou can exit this program now!\n“);
printf(“       Or it will exit itself in 60 seconds\n“);
Sleep(60000); //观察输出信息
return 0;
}
void ShowInformation(){
HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);     //获取控制台窗口句柄
if(hConsole!=INVALID_HANDLE_VALUE){
SetConsoleTextAttribute(hConsoleFOREGROUND_GREEN|FOREGROUND_INTENSITY);
} //设置文字颜色和文字高亮
printf(“          *****************************************\n“);
printf(“          *This program was written by Atp        *\n“);
printf(“          *                     or QQ:494178840   *\n“);
printf(“          *****************************************\n“);
//printf(“\n请以管理员身份运行此程序,\n    否则可能无法删除病毒母本!\n“);
printf(“\nPlease run this program as a Administrator,\n       Or it may not clean the viruses!\n“);
//printf(“具体方法是在右键菜单中点击\“以管理员身份运行\“~\n“);
printf(“The way is right click the icon \n       then choose\“Run as a Administrator\“ from the menu~\n“);
//倒数
for(int i=0; i<3; i++)
{
if(i<2)
 printf(“%u seconds left to run!\n“ 3-i);
else printf(“%u second  left to run!\n“ 3-i);
/*if(i==0)
printf(“Press Enter to continue.\n“);
if(!getchar()){
break;
}*/
Sleep(1000); // 每毫秒打印一次
}
printf(“\n          * * * * * * * *  Start !  * * * * * * * *\n“);
printf(“          *****************************************\n“);
}

BOOL KillProcess(){
    HANDLE hSnap = INVALID_HANDLE_VALUE;//进程快照句柄
PROCESSENTRY32 pe; //进程信息结构   
BOOL VirusFlag=false; //标记病毒存在信息
BOOL bNext;
pe.dwSize = sizeof(pe);
    LPSTR Virus[3]={“安

评论

共有 条评论