欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

taskmgr.exe 结束任务

taskmgr.exe 结束任务

比较简单,网上都有的,这里只是做个记录。
分析:
1、只要窗口标题不为空的程序,都会在任务列表中显示。
2、结束任务的时候,任务管理器(taskmgr.exe)在调用EndTask之前会先向目标窗口发送一个WM_CLOSE的消息,如果窗口仍未关闭,再来个EndTask直接干掉该进程,调用过程EndTask -> CsrClientCallServer -> ZwRequestWaitReplyPort。一般当一个进程启动时,父进程会调用CsrClientCallServer将该进程的句柄传递给子系统csrss.exe,因此所有进程都会在csrss.exe中留下句柄。当用任务管理器结束一个任务时,通过CsrClientCallServer向csrss.exe发送通知,csrss.exe收到通知并用其父进程传进来的句柄用NtTerminateProcess结束它。
防杀方法:
1、将窗口标题设置为空,就不会在任务列表中显示了。
SetWindowText( _T("") );  
2、过滤掉WM_CLOSE消息。
BOOL CAntiCrackDlg::PreTranslateMessage(MSG* pMsg)
{
  // TODO: Add your specialized code here and/or call the base class
  if( pMsg->message == WM_CLOSE ) // 过滤掉WM_CLOSE
  {
    return TRUE;
  }
  return CDialogEx::PreTranslateMessage(pMsg);
}
3、在驱动里hook NtTerminateProcess。
       上面的3个方法最好一起用,否则会有漏洞。

有兴趣的朋友可以来尝试杀下这个demo。
把文件解压到c盘根目录,



按照图中步骤1和2操作

上传的附件 bin123.rar

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功