`
isiqi
  • 浏览: 16050251 次
  • 性别: 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;
}
分享到:
评论

相关推荐

    进程监视易语言开源代码

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

    libev 监控子进程

    本人经过查阅资料编写的一个简单进程监控demo,其中用到libev库中相关技术,测试时编译运行文件内的代码,他会打印子进程的ID,然后在控制台的kill命令杀死该进程id, 程序会检测到子进程已被杀死,并重新创建子进程。

    Android 安卓手机电池电量监控代码.rar

    Android手机电池电量监控模块示例源代码,生成安卓电池记录文件:/sdcard/BatteryDog/battery.csv ,该文件包含时间、电量信息、温度和电压以及一些简单的图形。四个源码文件:  BatteryDog_Service继承了服务...

    window内核监控工具源代码

    5进程创建时都会向csrss来注册,从这个进程里面句柄表来枚举进程 6通过自身进程的HANDLETABLE来枚举进程 7通过EPROCESS的SessionProcessLinks来枚举进程 8通过EPROCESS ---VM---WorkingSetExpansionLinks获取进程 9...

    详解C#获取特定进程CPU和内存使用率

    当有了进程对象后,可以通过进程对象名称来创建PerformanceCounter类型对象,通过设定PerformanceCounter构造函数的参数实现获取特定进程的CPU和内存使用情况。 具体实例代码如下: 首先是获取本机中所有进程对象,...

    桌面监控系统

    能够定时截取当前电脑的屏幕,并将图标隐藏在自己创建的一个文件夹...退出监控程序要通过任务管理器的进程,当前存储图片的文件夹为C://programfiles//360//pic,可自行通过代码修改,重申:请不要用于非正当途径!!!

    Delphi 以记事本程序为例监视进程运行状况.rar

    Delphi 监视进程运行状况,示例以创建记事本进程向大家展示,创建进程、终止进程的情况,通过监视器可知道进程的状态。在判断进程状态时,以下代码起到了关键作用:  dwExitCode := 0;  fprocessExit := ...

    用VBS实现监视进程创建与删除的代码

    微软脚本中心里的例子,用到了WMI事件,抄下来备查。

    C#简单进程管理器(附源码)

    程序功能:进程查看,进程详细信息,结束进程 监视指定目录下的文件创建,删除,改变,重命名 已将可执行文件和源码全部打包 &lt;br&gt;程序运行界面可到如下地址查看: ...

    c#进程守护软件-附源码

    22、双击进程框列出的需要守护监控的进程,可以查看该进程更多详细信息。 23、配置文件中路径,一定要注意用\\表示,比如 &lt;url&gt;d:\\bitboy\\bitboy.exe&lt;/url&gt; 还要有扩展名,name中的进程名不能有扩展名,否则找不到...

    监视服务器进程

    2003年11月适用于: Microsoft:registered:ASP.NET摘要:学习如何创建ASP.NETHTTP处理程序,以查看Web站点使用的进程的运行状况和关闭状况。另外,还将学习如何创建配置节处理程序(本文包含一些指向英文站点的链接...

    shell监控linux系统进程创建脚本分享

    代码如下:#!/bin/shwhile truedo ps ax -o command | sort | uniq &gt; 1.txt usleep 100000 ps ax -o command | sort | uniq &gt; 2.txt diff 1.txt 2.txt | grep ‘^\+[^\+]’ | while read a do a=`echo ${a#*+}...

    Android高级编程--源代码

    该资料是《Android高级编程》的源代码 对应的书籍资料见: Android高级编程 基本信息 原书名: Professional Android Application Development 原出版社: Wrox 作者: (英)Reto Meier 译者: 王鹏杰 霍建同 出版社...

    ROOTKIT专题的研究

    1)监控进程创建 2)杀线程 3)保护进程和屏蔽文件执行 9。其他 1)获取ntoskrnl.exe模块地址的几种办法 2)驱动感染技术扫盲 3)shadow ssdt学习笔记 4)高手进阶windows内核定时器之一 5)高手进阶...

    文件管理系统java源代码

    (2)进程的分类、权限管理,重要进程的监控等扩展功能。 2.5 扩展功能:(1)实现一键关机; (2)资源管理器不同语言选择; (3)实现磁盘垃圾清理; (4)快捷键完成文件或文件夹操作; (5)本机版本显示; ...

    Rootkit的学习与研究

    1)监控进程创建 2)杀线程 3)保护进程和屏蔽文件执行 9。其他 1)获取ntoskrnl.exe模块地址的几种办法 2)驱动感染技术扫盲 3)shadow ssdt学习笔记 4)高手进阶windows内核定时器之一 5)高手进阶...

    gh0st源代码,IOCP模型,3.6版本

    gh0st源代码!3.6版本的。 特性: 控制端采用IOCP模型,数据传输采用zlib压缩方式 稳定快速,上线数量无上限,可同时控制上万台主机 控制端自动检测CPU使用率调整自己的工作线程, 稳定高效 宿主为svchost以系统服务...

    Node.js中创建和管理外部进程详解

    在Node里,子进程可以和父进程进行双向通信,而且在某种程度上,父进程还可以监控和管理子进程。 另外一种需要使用子进程的情况是,当你想简单地执行一个外部命令,并让Node获取命令的返回值时。比如,你可以执行一...

    Nodejs进程管理模块forever详解

    forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。 二、 forever安装 全局...

    明日科技《C#示例源代码》(17-20)

    注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#...

Global site tag (gtag.js) - Google Analytics