|
![]() | 作者: SysHu0teR [syshunter]
![]() |
登录 |
我想时刻监视系统进程。如果有指定的程序运行,则KILL掉; 枚举进程部分代码如下: 代码: 然后在下面代码中无限制调用上面的enumproc()来达到监视目的: [code] FILE *fp; char fline[256]={0}; unsigned long pid; char list[256][256]={0}; // char s[2]; fp=fopen("d:\\list_tmp.txt","r"); for(int i=0;i<256&&!feof(fp);++i) { fgets(list[i],255,fp); list[i][strlen(list[i])-1]=0; } fclose(fp); while(1) { for(i=0;i<256 && *list[i]!=NULL;++i) { pid=strEnum(list[i]); if(pid!=0) KillProc(pid); //杀掉该pid; } } [code] 既从list_tmp.txt读出要监视的程序完整路径,然后不停的在内存中找。好象比较愚笨,这样非常占用资源。 望大家给点更好的主意。 ![]() |
地主 发表时间: 06-01-20 14:40 |
![]() | 回复: TomyChen [quest] ![]() |
登录 |
Ring 3 API HOOK CreateProcessA/W Ring 0 Hook ZwCreateProcess 可以参考 《进程监视器》一文 xfocus.net上好像有 |
B1层 发表时间: 06-01-21 21:20 |
![]() | 回复: SysHu0teR [syshunter] ![]() |
登录 |
thanks,寻找中。。。 |
B2层 发表时间: 06-01-22 10:42 |
![]() | 回复: SysHu0teR [syshunter] ![]() |
登录 |
问题解决,不过没用API HOOK,对我来说难度偏大。考虑到只是要监视窗口类程序,偷工减料用消息HOOK挂了WH_CBT,用了GetForegroundWindow等函数![]() |
B3层 发表时间: 06-01-24 18:11 |
![]() | 回复: SysHu0teR [syshunter] ![]() |
登录 |
更正下,可以用WH_SHELL |
B4层 发表时间: 06-01-24 21:04 |
![]() | 回复: flynet [flynet] ![]() |
登录 |
驱动上也可以解决的 |
B5层 发表时间: 06-02-03 15:36 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号