精华内容
下载资源
问答
  • 因为我的软件需要添加防止任务管理器 终止进程的功能, 所以我就去研究了一下 HOOK API的技术, 我按照网上的一些说法去hook 函数OpenProcess; 然后我将我的dll注入到了我的进程,可是任务管理器依然能够 终止...
  • 1、用任务管理器里的应用程序里的结束任务的话是会发一个WM_CLOSE命令给应用程序。2、用任务管理器进程里的结束进程的话是不发送任何命令的,直接把其杀掉。

    1、用任务管理器里的应用程序里的结束任务的话是会发一个WM_CLOSE命令给应用程序。

    2、用任务管理器的进程里的结束进程的话是不发送任何命令的,直接把其杀掉。

    展开全文
  • MFC关闭任务管理器进程
  • 本次的测试函数为 R3 API 函数 ZwTerminateProcess ,通过 Hook 该函数,以实现任务管理器无法强制关闭进程,只有通过进程的关闭方法才可以正常结束进程。 Hook 该函数的关键是判断 ZwTerminateProcess 函数中的...

    本节的目的是通过驱动程序修改 ntoskrnl.exe 程序的 SSDT 表中的函数地址表,以实现 SSDT Hook 。本次的测试函数为 R3 API 函数 ZwTerminateProcess ,通过 Hook 该函数,以实现任务管理器无法强制关闭进程,只有通过进程的关闭方法才可以正常结束进程。


    Hook 该函数的关键是判断 ZwTerminateProcess 函数中的进程句柄 hProcess 。当进程是通过自身的关闭方法关闭的话,该句柄的值应为 0xffffffff0x00 ,而通过其他进程调用 ZwTerminateProcess 函数关闭的话,该句柄的值不为以上情况。因此,我们可以通过这种方法来判断,进程是主动关闭的,还是被动关闭的。

    测试代码如下:

    #include <ntddk.h>
    #include <ntstatus.h>
    
    /************************************************************************/
    /* 类型声明                                                             */
    /************************************************************************/
    
    // 系统服务表
    typedef struct _KSYSTEM_SERVICE_TABLE
    {
    	PULONG ServiceTableBase;			// 函数地址表
    	PULONG ServiceCounterTableBase;		// SSDT 函数被调用的次数
    	ULONG NumberOfService;				// 函数个数
    	PULONG ParamTableBase;				// 函数参数表
    } KSYSTEM_SERVICE_TABLE, * PKSYSTEM_SERVICE_TABLE;
    
    typedef struct _KSERVICE_TABLE_DESCRIPTOR
    {
    	KSYSTEM_SERVICE_TABLE ntoskrnl;		// ntoskrnl.exe 函数
    	KSYSTEM_SERVICE_TABLE win32k;		// win32k.sys 函数
    	KSYSTEM_SERVICE_TABLE unUsed1;
    	KSYSTEM_SERVICE_TABLE unUsed2;
    } KSERVICE_TABLE_DESCRIPTOR, * PKSERVICE_TABLE_DESCRIPTOR;
    
    // NTOPENPROCESS
    typedef NTSTATUS(*NTOPENPROCESS) (HANDLE hProcess, UINT32 uExitCode);
    
    
    /************************************************************************/
    /* 函数声明                                                             */
    /************************************************************************/
    
    VOID DriverUnload(PDRIVER_OBJECT pDriver);
    NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING reg_path);
    VOID PageProtectOff();
    VOID PageProtectOn();
    VOID HookZwTerminateProcess();
    VOID UnHookZwTerminateProcess();
    NTSTATUS MyHookZwTerminateProcess(HANDLE hProcess, UINT32 uExitCode);
    
    
    /************************************************************************/
    /* 全局变量                                                             */
    /************************************************************************/
    
    extern PKSERVICE_TABLE_DESCRIPTOR KeServiceDescriptorTable; // ntoskrnl.exe 导出的全局变量
    ULONG uOldZwTerminateProcess; // 旧的函数地址
    
    
    /************************************************************************/
    /* 函数定义                                                             */
    /************************************************************************/
    
    // 驱动入口
    NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING reg_path)
    {
    	// HOOK
    	HookZwTerminateProcess();
    
    	pDriver->DriverUnload = DriverUnload;
    
    	return STATUS_SUCCESS;
    }
    
    // 卸载驱动
    VOID DriverUnload(PDRIVER_OBJECT pDriver)
    {
    	UnHookZwTerminateProcess();
    	DbgPrint("Driver unloaded.\n");
    }
    
    // 关闭页保护
    VOID PageProtectOff()
    {
    	__asm
    	{
    		cli; // 关闭中断
    		mov eax, cr0;
    		and eax, not 0x10000; // WP位置0
    		mov cr0, eax;
    	}
    }
    
    // 开启页保护
    VOID PageProtectOn()
    {
    	__asm
    	{
    		mov eax, cr0;
    		or eax, 0x10000; // WP位置1
    		mov cr0, eax;
    		sti; // 恢复中断
    	}
    }
    
    // HOOK NtOpenProcess
    VOID HookZwTerminateProcess()
    {
    	PageProtectOff();
    	uOldZwTerminateProcess = KeServiceDescriptorTable->ntoskrnl.ServiceTableBase[0x101];
    	KeServiceDescriptorTable->ntoskrnl.ServiceTableBase[0x101] = (ULONG)MyHookZwTerminateProcess;
    	PageProtectOn();
    }
    
    // UnHOOK NtOpenProcess
    VOID UnHookZwTerminateProcess()
    {
    	PageProtectOff();
    	KeServiceDescriptorTable->ntoskrnl.ServiceTableBase[0x101] = uOldZwTerminateProcess;
    	PageProtectOn();
    }
    
    // 被修改的 NtOpenProcess 函数,简单打印参数
    NTSTATUS MyHookZwTerminateProcess(HANDLE hProcess, UINT32 uExitCode)
    {
    	DbgPrint("进程句柄:%x  退出码:%x\n", hProcess, uExitCode);
    	if (!(hProcess == 0xffffffff || hProcess == 0))
    	{
    		DbgPrint("拒绝关闭请求!\n");
    		return 0;
    	}
    	else
    		return ((NTOPENPROCESS)uOldZwTerminateProcess)(hProcess, uExitCode);
    }
    

    效果图如下:

    在这里插入图片描述

    展开全文
  • 禁止进程被windows任务管理器关闭的源程序,下载别人的比较有效,也忘了是谁,暂时放在这里
  • java实现关闭任务进程中某个指定的任务进程 博主这里关闭的是QQ.exe String command = "taskkill /f /im QQ.exe"; try { Runtime.getRuntime().exec(command); } catch (IOException e) { // TODO Auto-...

    java实现关闭任务进程中某个指定的任务进程

    博主这里关闭的是QQ.exe

    String command = "taskkill /f /im QQ.exe"; 
    try {
    	Runtime.getRuntime().exec(command);	
    } catch (IOException e) {
    	// TODO Auto-generated catch block
    	e.printStackTrace();
    }
    
    展开全文
  • 暴力关闭任务管理器中的进程

    千次阅读 2017-04-06 09:06:19
    原因:程序结束后,但是任务管理器中的exe 还存在。 采用下面的方法强制结束exe //关闭按钮 void CSuspectPerSysDlg::OnBnClickedButShutcam() { // TODO: 在此添加控件通知处理程序代码 cvReleaseVideoWriter(&...

    原因:程序结束后,但是任务管理器中的exe 还存在。

    采用下面的方法强制结束exe

    //关闭按钮
    void CSuspectPerSysDlg::OnBnClickedButShutcam()
    {
    	// TODO: 在此添加控件通知处理程序代码
    	cvReleaseVideoWriter(&writer);
    	cvReleaseCapture(&capture);
    
    	KillProcess(NULL,"软件的名称"); //结束进程,解决点击关闭,暴力方法
    }
    
    
    int CSuspectPerSysDlg::KillProcess(LPCSTR pszClassName, LPCSTR pszWindowTitle)
    {
    	HANDLE hProcessHandle;  //
    	ULONG nProcessID;
    	HWND TheWindow;
    	TheWindow = ::FindWindow( NULL, pszWindowTitle );
    	::GetWindowThreadProcessId( TheWindow, &nProcessID );
    	hProcessHandle = ::OpenProcess(PROCESS_TERMINATE,FALSE,nProcessID );
    	return ::TerminateProcess( hProcessHandle, 4 );
    }


    展开全文
  • 2. 重启电脑,此时任务管理器不会有这个进程,但需要进入控制面板点击更改,弹出安装导向点击下一步,选择修复VMware 修复完成后,打开VMware就可以正常启动虚拟机了。此时去查看服务里的设置,你会发现刚刚改为...
  • 1、事件原由: 在Qt进行编辑启动工程时,存在...此时查看任务管理器却没有发现该exe进程。 2、处理办法: windows系统->管理员身份打开cmd->输入tasklist查看进程->tasklist /im xx.exe /结束该进程。 ...
  • 在写一个win32项目时,每次按ctrl+F5都要去任务管理器把这个程序的exe文件的进程结束 否则就会显示无法写入 可是我已经把exe文件关闭了呀 为什么还会在后台跑呢? 是不是我的vs哪里设置出了问题? 之前并没有遇到...
  • 找到/关闭 任务管理器中的指定进程 .NET /// <summary> /// 找到并关闭指定进程 /// 例如:"PPAP","knbcenter","PPSKernel","WordBook","BFAssistantSvc" ...
  • 1.BOOL C***Dlg::OnInitDialog() { //禁止关闭对话框CMenu* pMenu = this-&gt;GetSystemMenu(FALSE);pMenu-&... //禁止在任务管理器关闭进程SetTimer(1,m_nTimer,NULL);//设置1号定时器,循...
  • 详细讲解了任务管理器杀不了的系统进程如何关闭
  • 任务管理器无法结束进程

    万次阅读 2017-09-06 15:26:13
    在使用任务管理器结束进程的时候,都有遇到无法结束进程的情况,这时候需要怎么办呢?今天U大侠小编就和大家说说解决任务管理器无法结束进程的小技巧吧! 任务管理器  方法一、  1、首先打开开始菜单中的运行...
  • 1. 管理员模式打开命令行 2. 输入以下命令并按下ENTER taskkill /F /FI “STATUS eq NOT RESPONDING
  • 1. 程序开启了进程进程中使用了while(1),在程序退出时未能关闭该线程 方法: 在主进程类的析构函数结束该线程 2. 程序的消息队列未销毁引起 使用了GetMessage创建了消息队列,但在程序退出时没有及时处理完...
  • 发现任务管理器进程列表中有一些可疑进程,用任务管理器却无法杀掉,这该怎么办呢? Windows XP/2000的任务管理器是一个非常有用的工具,能让你看到系统中正在运行哪些程序(进程),只要你平时多看任务管理器中的...
  • 其实对于 windows进程的操作很简单,只要理解了 进程线程的概念 对于 进程的操作 那么就只是 几个函数的 问题了 。 下面是 对于进程操作要用到的几个函数 。 进程的概念:我们运行了一个程序,那个这个独立的程序...
  •  HANDLE handle=::CreateToolhelp32Snapshot(TH32CS_SNAPALL,0);  HANDLE ProcessHandle;  PROCESSENTRY32 Info;  Info.dwSize = sizeof(PROCESSENTRY32);  if(::Process32First...
  • 最近用Qt对Excel文件进行操作,出现了程序中释放了Excel进程,而任务管理器中仍存在未关闭的Excel进程的现象。 查找了之后,发现是由于我在调用完Excel进程之后,没有彻底关闭Excel进程。 以下是对Excel文件操作的...
  • c#禁止任务管理器关闭任务

    千次阅读 2014-06-05 15:53:04
    禁止别人用任务管理器,结束自己的程序进程(.NET程序)。带着这个问题,我开始Google,开始baidu,又开始编程了。和原来的搜索结果一样,什么东西都是一筹莫展,得到的答案永远是:C#没有办法自己去禁止别人用任务...
  •  1、程序开启了进程进程中使用了while(1),在程序退出时未能关闭该线程 解决方法: 在主进程类的析构函数结束该线程  2、程序的消息队列未销毁引起 使用了GetMessage创建了消息队列,但在程序退出时没有及时...
  • 我发现任务管理器进程列表中有一些可疑进程,用任务管理器却无法杀掉,这该怎么办呢? Windows XP/2000的任务管理器是一个非常有用的工具,能让你看到系统中正在运行哪些程序(进程),只要你平时多看任务管理器中...
  • //初始化线程,执行关闭进程方法kill_Process();  myThread.Start();  }   private  void button1_Click( object sender,  EventArgs e)  {  GetGetProcesses();  }   ///     ///  调用此方法...
  • 简易任务管理器 可枚举、关闭进程、句柄、线程等 附带易语言源码 效果图 http://bbs.eyuyan.com/UploadFile/2010-2/201021519265860568.gif

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,961
精华内容 1,184
关键字:

任务管理器关闭进程