首页
社区
课程
招聘
[求助]PsSetCreateProcessNotifyRoutine设置的回调函数,监控进程创建 怎么结束他?
发表于: 2011-6-7 17:58 8818

[求助]PsSetCreateProcessNotifyRoutine设置的回调函数,监控进程创建 怎么结束他?

2011-6-7 17:58
8818
VOID ProcessCreateMon(IN HANDLE hParentId,IN HANDLE PId,IN BOOLEAN bCreate)
{
    PEPROCESS    EProcess;
    ULONG        ulCurrentProcessId;
    char*       lpCurProc; //进程名
    NTSTATUS     status;
	KAPC_STATE  apcState;
	HANDLE hProcess = NULL;
	BOOLEAN passthru = TRUE;
	wchar_t szFileName[MAX_PATH] = {0};

//_asm int 3
    status = PsLookupProcessByProcessId((ULONG)PId, &EProcess);
	DbgPrint("processCreateMon!\n");
    if (!NT_SUCCESS( status ))
    {
        DbgPrint("PsLookupProcessByProcessId()\n");
        return;
    }
    if ( bCreate )
    {
		lpCurProc = (LPTSTR)EProcess;
        lpCurProc = lpCurProc + g_iProcessNameOffset;
		mbstowcs(szFileName,lpCurProc,strlen(lpCurProc));
		DbgPrint("%S\n",szFileName);
		KeStackAttachProcess(EProcess,&apcState);
		ZwTerminateProcess(0,0);
	}
	//ObReferenceObject(EProcess);
	//ObDereferenceObject();
}


蓝屏啊。我就是控制下进程的创建,32位的可以SSDT什么的,64位改不了内核就尝试设置回调看看能否结束他。
可以么?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
试试往EXE入口直接写个retn啥的。。
2011-6-7 21:50
0
雪    币: 212
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
用简单一点的结束呗、
直接ZwOpenProcess,and ZwTerminateProcess
2011-6-9 13:09
0
雪    币: 18
活跃值: (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
尝试过了,WIN7/VISTA 不能用 不知何故。
2011-6-9 13:13
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
5
用CreateThread回调,只要你要杀的进程有线程了,就能Open+Terminate杀了~
2011-6-9 14:12
0
游客
登录 | 注册 方可回帖
返回
//