首页
社区
课程
招聘
[求助]断开线程调度链表
发表于: 2010-7-7 12:56 5112

[求助]断开线程调度链表

2010-7-7 12:56
5112
忘了看了那位大虾说的有个断开线程调度链表,看了一下  Windbg ,觉得应该跟断进程链表应该
差不多,就是试验了,有些问题,还望各位大虾指点下。
//**************************************************************************************
//**************************************************************************************
//模块名字:NTSTATUS HideThreadWaitQueueEntry(HANDLE ThreadID)
//模块功能:断开线程调度链表
//返回数值:
//**************************************************************************************
//参数说明:参数名                        |   输入/输出  |        参数说明
//**************************************************************************************
//**************************************************************************************
NTSTATUS HideThreadWaitQueueEntry(HANDLE ThreadID)
{
    KIRQL  preIRQL;
    PETHREAD EThread;
    PLIST_ENTRY pWaitLIST_ENTRY,pQueueLIST_ENTRY;

    if(STATUS_SUCCESS!=PsLookupThreadByThreadId(ThreadID,&EThread))
    {
        DbgPrint("Can't find the EPROCESS in ShowProcessFromEPROCByPID\n");
        return STATUS_INVALID_PARAMETER;
    }
   
    pWaitLIST_ENTRY = (PLIST_ENTRY)((ULONG)EThread + ETHREAD_KTHREAD + KTHREAD_WaitListEntry);
    pQueueLIST_ENTRY = (PLIST_ENTRY)((ULONG)EThread + ETHREAD_KTHREAD + KTHREAD_QueueListEntry);
    DbgPrint("ETHREAD:%X;WaitList:%X;QueueList:%X\n",EThread,pWaitLIST_ENTRY,pQueueLIST_ENTRY);
    preIRQL=KeRaiseIrqlToDpcLevel();
   
    *((ULONG*)pWaitLIST_ENTRY->Blink) = (ULONG)pWaitLIST_ENTRY->Flink;
    *((ULONG*)pWaitLIST_ENTRY->Flink + 1) = (ULONG)pWaitLIST_ENTRY->Blink;
    //RemoveEntryList(&pWaitLIST_ENTRY);
    //RemoveEntryList(&pQueueLIST_ENTRY);
    *((ULONG*)pQueueLIST_ENTRY->Blink) = (ULONG)pQueueLIST_ENTRY->Flink;
    *((ULONG*)pQueueLIST_ENTRY->Flink + 1) = (ULONG)pQueueLIST_ENTRY->Blink;
     
    KeLowerIrql(preIRQL);
    DbgPrint("KTHREAD in Hide\n");*/
    return STATUS_SUCCESS;
}
在虚拟机上试验 断开WaitListEntry,被断链程序如果关闭大概过30秒 就蓝屏了不过有些程序不蓝屏,但是好像断开后主程序还是一样的工作,没有任何反映,需要断开两次才能停止线程,提示为僵死的进程。但是不能断开QueueListEntry,只要一断就蓝屏了。。。。。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我也是一断就蓝屏,有没有前辈指教下啊?
2011-2-24 08:36
0
游客
登录 | 注册 方可回帖
返回
//