简单的任务管理器

2007-01-01 16:56
一个后门的功能模块,就是一个简单的任务管理器!

代码如下:

//简单的实现任务管理器
//write by Gxter
//date:6.1.2005


#include "stdio.h"
#include "windows.h"
#include "tlhelp32.h"
#pragma comment(lib,"th32.lib")


//-----------------------------------------------------全局变量
char *Process="";

 int sum=0;
 HANDLE hSnap,hkernel32; 
 PROCESSENTRY32 pe;   //
 BOOL bNext;
 HANDLE hToken;
 TOKEN_PRIVILEGES tp;  //
 LUID Luid;
 LPVOID p;
 FARPROC pfn;

//------------------------------------------------------功能函数
 int ProcessList();//列出主机进程列表
 int killProcess();//结束一个进程


//------------------------------------------------------程序开始

int main()
{
 if(ProcessList() == 1)
 {
  printf("ProcessList() error!");
 }

 killProcess();

 printf("/n---process end !----");
 getchar();
 return 0;
}

 

//列出本机的进程
int ProcessList()
{
 if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
 {
  return 1;
 }

 if (!LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&Luid))
 {
  return 1;
 }

 tp.PrivilegeCount = 1;
 tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 tp.Privileges[0].Luid = Luid;

 if (!AdjustTokenPrivileges(hToken,0,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL))
 {
  return 1;
 }

 pe.dwSize = sizeof(pe);
 hSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 bNext=Process32First(hSnap, &pe); 
 while(bNext) 
 {
  printf("%d,%s/n",++sum,pe.szExeFile);//显示
  bNext=Process32Next(hSnap, &pe); 
 }

 printf("/n本地共有个%d进程",sum);//显示

 CloseHandle(hSnap);
 
 return 0;
}


//结束一个进程
int killProcess()
{
 HANDLE hSnap,hProcess; 
 PROCESSENTRY32 pe; 
 BOOL bNext; 
 pe.dwSize = sizeof(pe);

 //输入要结束进程名
 printf("/ninput kill process name:");
 scanf("%s",Process);

  hSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  bNext=Process32First(hSnap, &pe); //获得第一个进程的结构
  while(bNext) 
  {
   if(!stricmp(pe.szExeFile,Process))//对比进程名
   {
    //终止cstrike.exe(半条命游戏)进程
    hProcess=OpenProcess(PROCESS_TERMINATE,1,pe.th32ProcessID);//获得一个进程的句柄
    TerminateProcess(hProcess,0);//结束进程
    CloseHandle(hProcess);//释放句柄资源
 
   }
   bNext=Process32Next(hSnap, &pe);//遍历下一个进程
  } 
  CloseHandle(hSnap); 
 
 return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值