惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
S
SegmentFault 最新的问题
博客园 - Franky
博客园_首页
T
Tailwind CSS Blog
雷峰网
雷峰网
罗磊的独立博客

博客园 - eyye的眼睛

又到清明节 sql中去除重复的项 戒烟吧 李开复:如何设计你的2015年度计划 网易邮箱已经忘记了客户 用程序集编写clr表值函数:把正则表达式引入数据库中 从天气网提取气象预报数据 sql 几点记录 sql 重复数据只保留一条 (转)android-sdk_r20.0.3-windows无法正常更新 RichTextBox的拖放功能DragDrop 合并两个rtf文件 股票数据(转) word转化为图片(2) 如何将格式文本转化为图片 SQL Server 的事务处理的两种格式 sql IN语句如何优化?(转) 向EXCEL批量导出数据(转) 禅语
杀掉叽哩瓜叽(jlguaji.exe)的两种方法
eyye的眼睛 · 2012-10-15 · via 博客园 - eyye的眼睛

服务器被人种了《叽哩瓜叽(jlguaji.exe)》又叫《软件精灵》,导致服务器内存和CPU大幅攀升,无法正常运行,而且还不能删除,网上也很少有资料。只能自己写程序来杀除。

(1)C++代码方式:

#include "stdafx.h"
#include <windows.h>
#include <tlhelp32.h>



BOOL FindAndKillProcessByName(LPCTSTR strProcessName)
{
        if(NULL == strProcessName)
        {
                return FALSE;
        }
        HANDLE handle32Snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        if (INVALID_HANDLE_VALUE == handle32Snapshot) 
        {
            return FALSE;
        }
 
        PROCESSENTRY32 pEntry;        
        pEntry.dwSize = sizeof( PROCESSENTRY32 );       
        
		int flag=Process32First(handle32Snapshot, &pEntry);
        while(flag)
        {
            if (!_tcsicmp(pEntry.szExeFile, strProcessName)) 
            { 
				HANDLE handLe =  OpenProcess(PROCESS_TERMINATE , FALSE, pEntry.th32ProcessID);
				BOOL bResult = TerminateProcess(handLe,0);
            }
			flag=Process32Next(handle32Snapshot, &pEntry);
		}  
 
        CloseHandle(handle32Snapshot);
        return FALSE;
}

int _tmain(int argc, _TCHAR* argv[])
{
	//隐藏窗体
	HWND hWnd = GetConsoleWindow();
    if (hWnd != 0)
    {                
        ShowWindow(hWnd, 0); // 0 = SW_HIDE 
    }  
	//杀死进程
	while(true)
	{
		FindAndKillProcessByName(_T("jlguaji.exe"));
		Sleep(1000000);
	}
	return 0;
}

 (2)C#代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            IntPtr hWnd = FindWindow(null, Console.Title );
            if (hWnd != IntPtr.Zero)
            {                
                    ShowWindow(hWnd, 0); // 0 = SW_HIDE 
            }  
   
            while (true)
            {
                CloseProcess();
                Thread.Sleep(1000000); 
            }
        }
        private static void CloseProcess()
        {
            System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("jlguaji");

            foreach (System.Diagnostics.Process p in process)
            {
                p.Kill();
            }
        }
        [DllImport("user32.dll")]
        static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        [DllImport("user32.dll")]
        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);  


    }
}