昨天晚上花了3个小时,写了一个程序 --- QQ游戏杀手~~ 呵呵 有点像病毒~
起因是因为近一段时间女朋友太能玩游戏了~~ 天天晚上占用我的电脑2~3个小时玩QQ游戏,我倒是不反对她玩游戏但是天天玩就不好了吗?所以约法3张,只需周末玩,同样为了防止偷食,呵呵,就开发了这个程序~。事先声明,我对QQ没有恶意哦~
这个小程序因该应该具有的几个功能
1。查找进程
2。杀掉进程
3。隐藏自身
以上需要的资料我都是网上找的,有些地方还没有详细地分析~所以今天坐在这里整理分析~ 提高一下;
1。查找进程,我用的是下面
//
FindProcess
// 这个函数唯一的参数是你指定的进程名,如:你的目标进程
// 是 "Notepad.exe",返回值是该进程的ID,失败返回0
//
DWORD CQGkillerDlg::FindProcess( char * strProcessName)
... {
DWORD aProcesses[1024], cbNeeded, cbMNeeded;
HMODULE hMods[1024];
HANDLE hProcess;
char szProcessName[MAX_PATH];
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) return 0;
for(int i=0; i< (int) (cbNeeded / sizeof(DWORD)); i++)
...{
//_tprintf(_T("%d "), aProcesses[i]);
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, aProcesses[i]);
EnumP
// 这个函数唯一的参数是你指定的进程名,如:你的目标进程
// 是 "Notepad.exe",返回值是该进程的ID,失败返回0
//
DWORD CQGkillerDlg::FindProcess( char * strProcessName)
... {
DWORD aProcesses[1024], cbNeeded, cbMNeeded;
HMODULE hMods[1024];
HANDLE hProcess;
char szProcessName[MAX_PATH];
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) return 0;
for(int i=0; i< (int) (cbNeeded / sizeof(DWORD)); i++)
...{
//_tprintf(_T("%d "), aProcesses[i]);
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, aProcesses[i]);
EnumP