首页
社区
课程
招聘
[求助]用 ZwTerminateProcess 结束进程时卡死,杀不掉要结束的进程
发表于: 2018-6-7 19:43 4534

[求助]用 ZwTerminateProcess 结束进程时卡死,杀不掉要结束的进程

2018-6-7 19:43
4534
 PCHAR  procName=GetCurrentProcessName(ProcessNameOffset);
 KdPrint(("Match_Suffix  进程名  :  %s  \n",procName));
     if  (!IsSecretProcess(procName))
         {
              if  (  EnumProcess(ProcessId,&Pid,&PPid))        //进程ID,
                    { 
                            KdPrint(("Pid  =  %d\n",Pid));
                             ZwKillProcess((HANDLE)Pid);
                       }
          }
 
 
 
void  ZwKillProcess(HANDLE  hdPid)    
{    
       __try  {    
               NTSTATUS  status;
               HANDLE  hProcess  =  NULL;    
               CLIENT_ID  ClientId  =  {0};    
               OBJECT_ATTRIBUTES  oa  =  {0};    
               ClientId.UniqueProcess  =  (HANDLE)hdPid;      
               ClientId.UniqueThread  =  0;    
               oa.Length  =  sizeof(oa);    
               oa.RootDirectory  =  0;    
               oa.ObjectName  =  0;    
               oa.Attributes  =  0;    
               oa.SecurityDescriptor  =  0;    
               oa.SecurityQualityOfService  =  0;    
               ZwOpenProcess(&hProcess,  1,  &oa,  &ClientId);    
               if  (hProcess)    
               {    
                      ZwTerminateProcess(hProcess,  0);  
                     ZwClose(hProcess);    
               }
       }    
       __except  (EXCEPTION_EXECUTE_HANDLER)    
       {}
}    
 
<font color="#000000" face="Gotham, Helvetica Neue, Helvetica, Arial, sans-serif"><span style="font-size: 15.4px; white-space: normal;">
</span></font>
这样写,当用Notepad++操作a/a/a.txt的时候,notepad++并没有杀掉啊?    而且还卡死,怎么解决呀?

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 24
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
ZwTerminateProcess  返回什么?
2018-6-8 15:53
0
雪    币: 174
活跃值: (62)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ZwOpenProcess这个成功了么?然后再看下ZwTerminateProcess  的返回值。单独跑你这个ZwKillProcess没有问题啊。
2018-6-8 16:14
0
雪    币: 12
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
try catch 什么鬼..
自己调阿,不行开个workitem试试

最后于 2018-6-8 20:53 被MaMy编辑 ,原因:
2018-6-8 20:48
0
雪    币: 307
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
hahanikan ZwTerminateProcess 返回什么?
在这个函数里面卡住了,没有返回值
2018-6-9 10:18
0
雪    币: 307
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
Goldtulip ZwOpenProcess这个成功了么?然后再看下ZwTerminateProcess 的返回值。单独跑你这个ZwKillProcess没有问题啊。
ZwOpenProcess  成功了,ZwTerminateProcess  我用status去接收没有看到返回值,在这里面卡死了
2018-6-9 10:24
0
雪    币: 307
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
MaMy try catch 什么鬼..自己调阿,不行开个workitem试试
ZwTerminateProcess这个函数里面卡死了
2018-6-9 10:24
0
雪    币: 441
活跃值: (1060)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
8
ZwTerminateProcess 跟用户态的TerminateProcess 有啥区别吗?用户态如果没被hook 没必要在内核调这个。
2019-6-20 10:16
0
游客
登录 | 注册 方可回帖
返回
//