监控进程创建代码

驱动开发:内核监控进程与线程回调 系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机制将该进程相关信息优先返回给我们自己的函数待处理结束后再转向系统层。那么会提示连接的设备没有发挥作用,我们则成功拦截了这次打开,当然如果在打开进程之前扫描其特征并根据特征拒绝进程打开,那么就可以实现一个简单的防恶意程序,进程监控在防恶意程序中也是用的最多的。如上,该函数只有两个参数,第一个参数是回调函数,第二个参数是是否注销,通常在驱动退出时可以传入。 阅读详情
#include   "stdafx.h"  
  #include   "apihook.h"  
  #include   <stdio.h>  
   
   
  typedef   BOOL   (WINAPI   *PFNCPW)(  
  LPCTSTR   lpApplicationName,  
  LPTSTR   lpCommandLine,  
  LPSECURITY_ATTRIBUTES   lpProcessAttributes,  
  LPSECURITY_ATTRIBUTES   lpThreadAttributes,  
  BOOL   bInheritHandles,  
  DWORD   dwCreationFlags,  
  LPVOID   lpEnvironment,  
  LPCTSTR   lpCurrentDirectory,  
  LPSTARTUPINFO   lpStartupInfo,  
  LPPROCESS_INFORMATION   lpProcessInformation  
    );  
   
  extern   CAPIHook   g_CreateProcessW;  
   
  BOOL   WINAPI   proxy_CreateProcessW(  
      LPCTSTR   lpApplicationName,  
      LPTSTR   lpCommandLine,  
      LPSECURITY_ATTRIBUTES   lpProcessAttributes,  
      LPSECURITY_ATTRIBUTES   lpThreadAttributes,  
      BOOL   bInheritHandles,  
      DWORD   dwCreationFlags,  
      LPVOID   lpEnvironment,  
      LPCTSTR   lpCurrentDirectory,  
      LPSTARTUPINFO   lpStartupInfo,  
      LPPROCESS_INFORMATION   lpProcessInformation  
  )  
   
   
  LPSTR   lpszName   =   new   CHAR[   255   ];  
  LPSTR   lpszName1   =   new   CHAR[   255   ];  
  //由于传入的是宽字符串,所以要做处理,,  
  //下面可以添加你要处理的代码,,我只是弹出对话框要求用户确认运行还是不运行  
  ::WideCharToMultiByte(   CP_ACP,   0,   (unsigned   short   *)lpCommandLine,   -1,   lpszName1,   255,   NULL,   NULL   );  
  ::WideCharToMultiByte(   CP_ACP,   0,   (unsigned   short   *)lpApplicationName,   -1,   lpszName,   255,   NULL,   NULL   );  
  OutputDebugString(lpszName);  
  OutputDebugString(lpszName1);  
  wsprintf(buf,"%s/r/n%s",lpszName,lpszName1);  
  if(MessageBox(NULL,buf,"注意",MB_YESNO|MB_ICONWARNING|MB_SYSTEMMODAL)  
  ==IDNO)  
  return FALSE;  
   
  return   ((PFNCPW)(PROC)g_CreateProcessW)(  
    lpApplicationName,  
    lpCommandLine,  
    lpProcessAttributes,  
    lpThreadAttributes,  
    bInheritHandles,  
    dwCreationFlags,  
    lpEnvironment,  
    lpCurrentDirectory,  
    lpStartupInfo,  
    lpProcessInformation  
    );  
   
  }  
   
   
  CAPIHook   g_CreateProcessW("kernel32.dll",   "CreateProcessW",    
  (PROC)proxy_CreateProcessW);  
   
   
   
   
   
   
  BOOL   APIENTRY   DllMain(   HANDLE   hModule,    
                                                DWORD     ul_reason_for_call,    
                                                LPVOID   lpReserved  
    )  
  {  
          return   TRUE;  
  }  
 
实时监控进程创建 Hook ObCreateObject 实时监控进程创建 立即下载

相关推荐

监控(C语言代码)

某国的安全部门监控了全国的数据流,该部门的程序员接到一个任务,恐怖组织会给手下发送一个数字序列A

C++ API HOOK (OpenProcess)

#include &lt;windows.h&gt;#include "APIHook.h"extern CAPIHook g_OpenProcess;// 自定义OpenProcess函数#pragma data_seg("YCIShared")HHOOK g_hHook = NULL;DWORD dwCurrentProcessId=0;#pragma data_seg()HANDLE ...

資料為我做事 1542

进程监控代码

进程监控代码进程监控代码

利用HOOK API做进程保护器

其实就很简单,只是对TerminateProcess的HOOK,因为要阻止的不是本进程的,所以要用到全局钩子,也就是把他做成dll形式的! 首先,对前面的HOOK API进行封装CAPIHook:   [cpp] view plain copy /////////////////////////////////////////////////////////   // APIHook...

bruce135lee的专栏 2026

进程监控实现代码[vbs+bat]

是用BAT写的,主体是VBS,所以放在VBS分类了

linux进程监控shell脚本代码

主要为大家分享一个监控linux进程的shell脚本,当程序异常退出时可以自动重启,涉及到捕获进程信号与重启进程的命令与知识

ProcessMonitor实现进程文件和注册表监控

对于文件、网络等监控亦是如此,进程的启动和执行离不开对于文件的读写,,相信很多人都碰到DLL文件找不到但是却又不知道DLL放在哪个路径的问题,而这个工具能捕获进程的所有文件读写信息,正好解决了这种问题。一般我们监控指定进程可以使用processName和PID,以谷歌浏览器为例,它的进程名是chrome.exe,那么就可以根据 "processName is chrome.exe"来监控所有的chrome.exe进程了,因为chrome.exe一般是多进程模式,如果定位单个进程,那么就需要指定PID了。

weixin_38526093的博客 8698

RT-Thread 5.1.0 实战:手把手教你用CubeMX和RT-Studio创建第一个工程(附常见编译错误修复)

本文详细介绍了如何使用STM32CubeMX和RT-Thread Studio 5.1.0创建第一个RT-Thread工程,包括开发环境准备、CubeMX配置、工程整合及常见编译错误修复。通过实战指南,帮助开发者快速上手RT-Thread 5.1.0,解决开发过程中的典型问题,提升嵌入式开发效率。

weixin_29165465的博客 285

ApiHook类

// 头文件// ApiHook.h: interface for the CApiHook class.////////////////////////////////////////////////////////////////////////#ifndef API_HOOK_H#define API_HOOK_Hclass CApiHook  {public:    HANDLE

sanshao27的专栏 1510

FastGPT 引申:借鉴 FastGPT 基于MySQL + ES 实现知识库(含表结构以及核心代码)

FastGPT 引申:借鉴 FastGPT 基于MySQL + ES 实现知识库(含表结构以及核心代码)

蜗牛的专栏 3435

头歌平台-人工智能导论实验(人脸识别)

答案仅供参考,自己动手丰衣足食!!!

qq_52119136的博客 3026

又是一个APIHOOK

又是一个APIHOOK 借用了海风月影的HookApi 0.5的一些思路;又是一个APIHOOK,没什么特别的!能顺利完成任务,没有什么多余的!代码里用到了libdasm,去下载一个吧!HookProc的函数类型和原来的api一样,只是参数比原API多2个 DWORD WINAPI HookProc(DWORD RetAddr ,__pfnXXXX pfnXXXX, ...);

linuxheik的专栏 624

合并数组与非合并数组——SystemVerilog

合并型数组(packed): — 合并型数组可以实现连续的存储,赋值时不需要用 '{ }。 //合并型数组 bit [3] [7:0] b_pack // 表示3行 x 8列的数组,[3]是高维度(高维度),[7:0]是低维度(第一维) 数组中,数据排列为{b_pack[3],b_pack[2],b_pack[1],b_pack[0]},其中每个b_pack为8个bit; bit是二值逻辑,每位bit只占据1位。故24位bit只占据一个word(一般一个word为32bit)的存储空间

SummerXRT的博客 7638

基于visual c++之windows核心编程代码分析(57)监控系统的每一个进程的创建

在监控病毒的时候,我们经常需要监控病毒创建的每一个进程,监控进程是如何实现的呢, 我们来见代码分析,实现监控系统的每一个进程的创建, #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 /...

chengyixian7877的博客 131

YOLOv8改进——引入可变形卷积DCNv3

本文只讲解在YOLOv8的代码中添加DCNv3的操作流程, 具体的原理参见上述的链接~是pytorch实现的版本,只要基础的pytorch环境安装正确就不会出错。是C++实现版本,必须先在上一步编译成功,或者安装好了轮子,否则会报错。但是在实际的训练过程中,C++版本的运行速度更快,推荐使用C++版本。(具体怎么修改,都可以自己决定,然后通过实验看看效果如何)文件夹,该文件夹下的内容就是实现DCNv3算子的核心代码。中,下图中的列表里添加。

zyw2002的博客 3万+

光电二极管探测器电流信号处理与指令输出系统

本文提出了一种基于Python的光电二极管电流信号处理系统设计方案。该系统能够实时采集、处理光电二极管输出的电流信号,并根据预设阈值输出控制指令。系统采用模块化架构,包含数据采集、信号处理、阈值检测、指令生成等核心模块。其中数据采集模块提供了模拟器实现和硬件接口框架,支持噪声模拟和脉冲信号生成。系统设计考虑了实时性、可靠性和可扩展性,适用于光强测量、光电检测等多种应用场景。

huanghm88的专栏 1180

进程监控和线程监控

方式1 #include <ntifs.h> #include<ntddk.h> NTKERNELAPI PUCHAR PsGetProcessImageFileName( IN PEPROCESS Process ); VOID ProcessNotifyRoutine( _In_ HANDLE ParentId, _In_ HANDLE ProcessId, _In_ BOOLEAN Create ) { if (Create==TRUE) { //创建进程回调

qq_41490873的博客 657

【图像识别】基于计算机视觉实现红绿灯识别matlab代码

​ 1 简介 现如今,盲人出行依旧是一大问题.面对无处不在的红绿灯,盲人无法通过眼睛辨识红绿灯的状态,出行受阻.为了解决盲人识别红绿灯的难题,本文提出了一种基于MATLAB进行红绿灯识别的系统.对交通灯的识别主要基于对交通灯的色彩及形状特征.基于信号灯的亮度对其进行分割,提取,并设置了一种自动最优选择阈值的方法.再由HIS彩色空间的H信息识别颜色.最后根据二值化的交通灯的横坐标和纵坐标方向的投影进行形状匹配识别. 2 部分代码 clc clear all close all a=imread('m

qq_59747472的博客 2690

Frida实战:如何用child_gating.py监控Windows子进程的创建与调试(附完整代码)

本文详细介绍了如何利用Frida的child_gating功能监控和调试Windows子进程,提供从原理到实践的完整解决方案。通过child_gating机制,可以高效拦截进程创建事件、自动注入Frida并保持父子进程间的hook上下文一致性,适用于恶意软件分析、DRM系统逆向等场景。文章包含完整代码示例和实战技巧,帮助开发者快速掌握多进程调试技术。

qsc9012345的博客 559

复数值神经网络可能是深度学习的未来

复数这种东西,在人的头脑中似乎抽象、似乎复杂,然而,对于计算机来说,一点也不抽象,不复杂,那么,将复数概念推广到神经网络会是什么结果呢?本篇介绍国外的一些同行的尝试实践,请我们注意观察他们的进展。

gongdiwudu的专栏 6615

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

golang进程启动及监控

由于近期项目需要,使用go预研开发边缘智能程序,因此就想着通过golang实现进程守护及进程监控的功能,在golang程序中启动子进程,有很好的封装exec.Command,导入包为os/exec,本文主要以此种方式实现,包含以下两种实现方式。...

技术控的笔记 9万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Winxp下拦截所有进程的写注册表操作以及进程创建的监控

 原理介绍:  Nt系统下用户层(Ring3)下写注册表的程序大都调用ntdll.dll导出的ZwSetValueKey,该API简单通过int 2e并传递一个服务号进入内核调用同名系统服务(NTSetValueKey)。所以在用户层(Ring3)下拦截写注册表的操作最后的也是最底层的方法便是拦截该API。  同时为了实时监控系统中当前运行的所有进程对该API的直接或者间接调用,需要对所有

默数悲伤 3337

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Windows10 x64 Ring0实现进程创建监控

win10 x64 亲测可用

zcy5157912的博客 431
上一篇: WinCE中OEM适配层点滴之系统初始化
下一篇: 应用程序之间互相通讯的几种方法
JamesXing
博客等级 码龄20年 30粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值