简单的任务管理器

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
    评论
Android任务管理器是一个用于管理和监控应用程序中的任务和进程的工具。它可以帮助用户查看和关闭正在运行的应用程序和服务,以释放内存和提高设备性能。 在提供的代码片段中,有两个方法doTimeoutTask和doNormalTask,它们分别用于执行超时任务和普通任务。 doTimeoutTask方法的作用是创建一个超时任务,它会在指定的时间内执行任务,并在超时时触发onTimeout回调方法。在代码中,任务通过TaskPool.getInstance().execute()方法进行执行,并使用Task类的子类进行封装。具体的任务逻辑在onRun方法中实现,在本例中,它会简单地睡眠1秒钟。cancelTask方法在这里没有实现任何具体操作。 doNormalTask方法用于创建一个普通任务,它会按照一定的逻辑顺序执行任务,并通过notifyLoading、notifySuccess、notifyFail方法通知任务的进度和结果。在本例中,任务简单地睡眠一段时间后,随机决定任务成功或失败。cancelTask方法在这里同样没有实现任何具体操作。 在提供的代码片段中还有一段XML代码,它是一个Android清单文件的基本结构。清单文件用于描述应用程序的基本信息和配置,其中包括包名、版本号等内容。 综上所述,Android任务管理器是用于管理和监控应用程序中的任务和进程的工具。在提供的代码片段中,doTimeoutTask方法用于执行超时任务,doNormalTask方法用于执行普通任务,清单文件是应用程序的配置文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值