禁止任务管理器Kill Process

原创 2016年08月30日 22:58:47
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
'Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Const TH32CS_SNAPPROCESS = &H2
Private Const TH32CS_SNAPheaplist = &H1
Private Const TH32CS_SNAPthread = &H4
Private Const TH32CS_SNAPmodule = &H8
Private Const TH32CS_SNAPall = TH32CS_SNAPPROCESS + TH32CS_SNAPheaplist + TH32CS_SNAPthread + TH32CS_SNAPmodule
Private Const MAX_PATH As Integer = 260
Private Const PROCESS_ALL_ACCESS = &H100000 + &HF0000 + &HFFF
 
Private Type PROCESSENTRY32
   dwSize As Long
   cntUseage As Long
   th32ProcessID As Long
   th32DefaultHeapID As Long
   th32ModuleID As Long
   cntThreads As Long
   th32ParentProcessID As Long
   pcPriClassBase As Long
   swFlags As Long
   szExeFile As String * 1024
End Type


Public RunKill As Boolean
 
Public Sub AntiKill()
  On Error Resume Next
 
    Dim MySnapHandle As Long
    Dim hProcess As Long
    Dim ProcessInfo As PROCESSENTRY32
    Dim Addr As Long, hMod As Long
    Dim ASM(0) As Byte
    Dim sProcess As String
    
    RunKill = False
    ASM(0) = &HC3
    'retn
    hMod = GetModuleHandle("kernel32")
    Addr = GetProcAddress(hMod, "TerminateProcess")
    'Debug.Print Hex(Addr)
    MySnapHandle = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0)
    ProcessInfo.dwSize = Len(ProcessInfo)
    If ProcessFirst(MySnapHandle, ProcessInfo) <> 0 Then
       Do
          DoEvents
          sProcess = Left(LCase(ProcessInfo.szExeFile), InStr(ProcessInfo.szExeFile, ".") + 3)
          If sProcess = "taskmgr.exe" Then
            hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, ProcessInfo.th32ProcessID)
            'Debug.Print hProcess
            WriteProcessMemory hProcess, ByVal Addr, ByVal VarPtr(ASM(0)), 1, 0&
            'Debug.Print Err.LastDllError
            CloseHandle hProcess
            RunKill = True
          End If
       Loop While ProcessNext(MySnapHandle, ProcessInfo) <> 0
    End If
    
    CloseHandle MySnapHandle
    Err.Clear
 End Sub

windows下面hook系统api实现禁止任务管理器关闭程序

为了保护我们的进程不被人随便强制关闭,我们需要一种机制来实现,网上大概有几种方式:1.写一个驱动程序,在驱动程序里面hook系统的api来实现,例如ssdt方式,等等。2.就是在应用层挂钩系统api,...
  • nanjun520
  • nanjun520
  • 2015年07月28日 18:15
  • 2254

你真的懂任务管理器中有关内存的参数Private(提交大小)和working set(工作设置)吗?

任务管理器中跟内存相关有两个重要的指标Private(提交大小)和working set(工作设置)。如下图所示: 这两个指标在process explorer中叫做Private By...
  • wzsy
  • wzsy
  • 2015年01月15日 10:36
  • 2334

C# 保护进程不被结束(源代码)防任务管理器结束进程

闲来无事,英语又学的太痛苦。看到我妈妈电脑开起在,就坐上去看看新闻,听听音乐。哎,突然间,老毛病又烦了,想起原来一直有个编程的问题没有解决——禁止别人用任务管理器,结束自己的程序进程(.NET程序)。...
  • qq798833488
  • qq798833488
  • 2016年11月16日 21:42
  • 3257

任务管理器的实现及源码

任务管理器源码
  • aap159951
  • aap159951
  • 2015年09月24日 19:43
  • 576

任务管理器显示命令行

原文地址:http://www.windows7en.com/Win7/19180.html windows任务管理器显示映像路径和命令行设置方法:(以win7系统为例)   1.在键盘上按“Ctrl...
  • sarasayhi
  • sarasayhi
  • 2016年09月09日 19:49
  • 1446

linux 任务管理器(top ps)

free 显示内存使用情况,默认单位为kB。 top 动态显示,见图1. 图1 top命令 res表示内存占用。 ps -aux 显示所有进程的主要信息。见图2。 图2 ps命令 主要参...
  • chuchus
  • chuchus
  • 2015年07月17日 14:40
  • 1418

c#禁止任务管理器关闭任务

禁止别人用任务管理器,结束自己的程序进程(.NET程序)。带着这个问题,我开始Google,开始baidu,又开始编程了。和原来的搜索结果一样,什么东西都是一筹莫展,得到的答案永远是:C#没有办法自己...
  • chollima20080808
  • chollima20080808
  • 2014年06月05日 15:53
  • 1099

ROS-机器人操作系统(ROS)浅析----第二章

相信各位读过之前说的一些基础知识,应该很快来到第二章了。 博客摘录于:机器人操作系统(ROS)浅析--[美] Jason M. O'Kane 著--肖军浩 译 第2章 入门概述 2.1、安装...
  • vampire_2016
  • vampire_2016
  • 2015年10月01日 19:16
  • 924

YARN批处理方式kill Applications解决方案

前言在使用hadoop集群的时候,所有的任务都是最终以Application的形式跑在集群中,不管你是自己写的MR程序亦或是你写的hive sql转化成的mr任务,最终都是以Application应用...
  • Androidlushangderen
  • Androidlushangderen
  • 2016年01月05日 09:08
  • 7080

获取到windows任务管理器的项

#include #include void main() { HWND hwnd; int iItem=0; LVITEM lvitem, *plvite...
  • tangyanzhi1111
  • tangyanzhi1111
  • 2014年04月07日 20:05
  • 1422
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:禁止任务管理器Kill Process
举报原因:
原因补充:

(最多只允许输入30个字)