`
isiqi
  • 浏览: 16483779 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

监控进程创建代码

 
阅读更多
#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;
}
分享到:
评论

相关推荐

    监控进程创建,源码

    在IT领域,监控进程创建是一项重要的系统管理任务,它能够帮助我们了解系统中正在运行的程序,检测潜在的恶意活动,以及优化系统性能。本文将深入探讨如何通过源码实现进程监控,特别是针对Windows XP和Win7 32位...

    监视新进程创建代码

    监视新进程创建是系统监控中的一个重要功能,它可以帮助开发者、安全研究人员或系统管理员了解系统上运行的进程动态,及时发现异常行为。在这个场景下,我们有一个名为“WMIProcessCreateMonitor”的压缩包文件,...

    进程创建监控

    在IT领域,进程创建监控是系统管理与安全分析的重要组成部分,尤其在Ring3和Ring0级别的控制中,这种监控能够提供深入的系统洞察。本文将详细介绍这两种级别的进程监控及其相关知识点。 首先,让我们理解一下“Ring...

    实时监控进程创建

    在IT领域,实时监控进程创建是一项重要的系统管理和安全实践。这个过程通常涉及到深入理解操作系统的内核机制,尤其是Windows系统中的进程创建流程。"Hook ObCreateObject 实时监控进程创建"是一个具体的技术手段,...

    易语言监视新进程创建

    在“易语言监视新进程创建”的主题中,我们主要探讨如何使用易语言来实现对计算机中新创建的进程进行实时监控。 首先,我们需要理解进程的基本概念。在操作系统中,进程是程序的一次执行实例,它包含了程序运行时所...

    监视进程创建 实现 源码

    本主题将深入探讨如何通过API拦截技术,特别是hook `CreateProcess`函数,来实现在Windows XP系统上监控进程创建的过程。`CreateProcess`是Windows API中的一个关键函数,用于启动新的进程和加载其主线程。 首先,...

    C#用户、进程监控用户、进程监控

    1. 性能优化:通过监控进程资源使用,可以定位性能瓶颈,优化代码,提高系统效率。 2. 安全管理:监控用户活动,防止未经授权的操作,确保数据安全。 3. 故障排查:当系统出现问题时,日志记录的用户行为和进程状态...

    精选_基于PsSetCreateProcessNotifyRoutineEx实现监控进程创建并阻止创建_源码打包

    "基于PsSetCreateProcessNotifyRoutineEx实现监控进程创建并阻止创建"是一个针对此主题的专业实践,它涉及到Windows内核编程和安全机制。 `PsSetCreateProcessNotifyRoutineEx` 是Windows内核的一个关键函数,它...

    WMI实时监控进程开启demo

    当WMI接收到进程创建事件时,该事件处理器将执行特定的操作,比如记录日志、发送通知或执行其他自定义逻辑。 5. **C++编程**:`test.cpp`文件很可能是项目的主入口,其中包含了设置WMI事件订阅、注册事件处理器以及...

    监控进程启动退出

    首先,我们要了解`PsSetCreateProcessNotifyRoutine`是Windows内核API的一部分,它允许开发者注册一个回调函数,该函数会在系统中的任何进程创建或退出时被调用。这个函数是内核模式驱动程序所使用的,因此需要具备...

    易语言多线程监控进程源码

    本文将深入探讨标题中的“易语言多线程监控进程源码”,并结合描述中的信息,分享关于易语言、多线程以及进程监控的相关知识点。 首先,我们需要理解什么是多线程。在计算机科学中,线程是程序执行的最小单元,每个...

    进程监控驱动,源码

    监控进程可以帮助我们了解系统运行状态,检测恶意软件行为,甚至进行性能优化。进程监控驱动则是在内核级别执行这些任务,因此拥有更高效、更底层的访问权限。 驱动程序通常分为用户模式驱动和内核模式驱动。内核...

    利用钩子监控进程的创建,如禁止创建某名称的进程.zip

    钩子允许程序员插入自定义代码,以便在特定事件发生时进行干预,例如在某个进程创建之前。本案例中,"利用钩子监控进程的创建,如禁止创建某名称的进程"是一个典型的应用场景,主要用于系统级的监控和控制。 首先,...

    进程监视易语言开源代码

    监控相应进程的创建,可以用来限制相应进程的创建数量

    监控进程的启动和撤消

    ProcMon可以记录并显示系统中发生的各种事件,包括进程创建、退出、文件系统活动、注册表操作等。 **监控进程启动:** 1. **ProcMon设置**:首先,我们需要启动ProcMon并设置过滤条件,比如只关注进程的创建事件。 ...

    API进程管理代码

    1. **进程创建**:使用API函数CreateProcess()或ShellExecute()可以在操作系统中启动新的进程。这些函数接收程序路径、参数和其他选项作为输入,然后启动目标应用程序。 2. **进程查询**:通过API函数GetProcessId...

    精选_SSDT Hook 之内核函数ZwCreateUserProcess实现监控进程创建_源码打包

    在本压缩包文件"ssdt-hook-zwcreateuserprocess"中,我们聚焦于通过Hook SSDT中的`ZwCreateUserProcess`函数来实现对进程创建的监控。 `ZwCreateUserProcess`是Windows内核的一个关键系统服务,用于创建新的用户...

    监控进程中指定的程序是否启动和关闭

    在这个命名空间中,`Process`类是我们监控进程的主要工具。`Process`类提供了大量的方法和属性,可以用来获取当前系统中所有进程的信息,包括进程ID、进程名称、是否正在运行等。 要监控指定的程序是否启动,我们...

    c# winform实现进程监控

    3. **监控进程**: `Process`类有一个`EnableRaisingEvents`属性,将其设置为`true`后,我们可以订阅`Process.Exited`事件,以便在进程结束时收到通知。这样,我们就可以在进程意外终止时采取行动。 4. **按顺序...

    DELPHI隐藏进程源代码

    3. 隐藏进程窗口:如果进程创建了窗口,可以使用`ShowWindow`函数将其隐藏。 4. 注册服务:进程也可以注册为系统服务运行,这样通常不会显示在任务管理器的用户界面部分。 然而,需要注意的是,隐藏进程可能会引发...

Global site tag (gtag.js) - Google Analytics